This commit is contained in:
Max Lv
2015-12-15 17:37:06 +08:00
parent 063d97b28b
commit 88b875370e
3 changed files with 19 additions and 8 deletions
@@ -150,6 +150,10 @@ class AppManager extends AppCompatActivity with OnCheckedChangeListener with OnC
handler.removeCallbacksAndMessages(null)
handler = null
}
if (overlay != null) {
getWindowManager.removeViewImmediate(overlay)
overlay = null
}
}
def onMenuItemClick(item: MenuItem): Boolean = {
@@ -210,7 +214,7 @@ class AppManager extends AppCompatActivity with OnCheckedChangeListener with OnC
toolbar.inflateMenu(R.menu.app_manager_menu)
toolbar.setOnMenuItemClickListener(this)
this.overlay = View.inflate(this, R.layout.overlay, null).asInstanceOf[TextView]
overlay = View.inflate(this, R.layout.overlay, null).asInstanceOf[TextView]
getWindowManager.addView(overlay, new
WindowManager.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
@@ -219,7 +223,7 @@ class AppManager extends AppCompatActivity with OnCheckedChangeListener with OnC
findViewById(R.id.onSwitch).asInstanceOf[Switch]
.setOnCheckedChangeListener((button: CompoundButton, checked: Boolean) => {
ShadowsocksApplication.settings.edit().putBoolean(Key.isProxyApps, checked).apply()
ShadowsocksApplication.settings.edit().putBoolean(Key.isProxyApps, checked).commit()
finish()
})
@@ -24,10 +24,6 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan
getPreferenceManager.getSharedPreferences.registerOnSharedPreferenceChangeListener(this)
isProxyApps = findPreference(Key.isProxyApps).asInstanceOf[SwitchPreference]
isProxyApps.setOnPreferenceChangeListener((preference: Preference, newValue: Any) => {
startActivity(new Intent(activity, classOf[AppManager]))
newValue.asInstanceOf[Boolean] // keep it ON
})
findPreference("recovery").setOnPreferenceClickListener((preference: Preference) => {
ShadowsocksApplication.track(Shadowsocks.TAG, "reset")
@@ -67,8 +63,19 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan
}
override def onResume {
super.onResume
super.onResume()
isProxyApps.setChecked(ShadowsocksApplication.settings.getBoolean(Key.isProxyApps, false)) // update
isProxyApps.setOnPreferenceChangeListener((preference: Preference, newValue: Any) => {
if (newValue.asInstanceOf[Boolean] == true) {
startActivity(new Intent(activity, classOf[AppManager]))
}
true
})
}
override def onPause {
super.onPause()
isProxyApps.setOnPreferenceChangeListener(null)
}
def onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) = key match {