Fixed issue 3948: settings popup not hidding when click on notif
This commit is contained in:
parent
142fa020c6
commit
89c317be26
4 changed files with 45 additions and 5 deletions
|
@ -139,6 +139,10 @@
|
|||
<string name="pref_first_time_linphone_chat_storage">pref_first_time_linphone_chat_storage</string>
|
||||
|
||||
<string name="pref_sipaccount_key">pref_sipaccount_key</string>
|
||||
<string name="pref_audio_key">pref_audio_key</string>
|
||||
<string name="pref_call_key">pref_call_key</string>
|
||||
<string name="pref_chat_key">pref_chat_key</string>
|
||||
<string name="pref_network_key">pref_network_key</string>
|
||||
<string name="pref_advanced_key">pref_advanced_key</string>
|
||||
<string name="pref_manage_key">pref_manage_key</string>
|
||||
|
||||
|
|
|
@ -49,7 +49,8 @@
|
|||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:title="@string/pref_audio_title">
|
||||
android:title="@string/pref_audio_title"
|
||||
android:key="@string/pref_audio_key">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_audio_title">
|
||||
|
@ -176,7 +177,8 @@
|
|||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:title="@string/pref_call_title">
|
||||
android:title="@string/pref_call_title"
|
||||
android:key="@string/pref_call_key">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_call_title">
|
||||
|
@ -228,7 +230,8 @@
|
|||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:title="@string/pref_chat_title">
|
||||
android:title="@string/pref_chat_title"
|
||||
android:key="@string/pref_chat_key">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_chat_title">
|
||||
|
@ -250,7 +253,8 @@
|
|||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:title="@string/pref_network_title">
|
||||
android:title="@string/pref_network_title"
|
||||
android:key="@string/pref_network_key">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_network_title">
|
||||
|
@ -338,7 +342,8 @@
|
|||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:title="@string/pref_advanced_title">
|
||||
android:title="@string/pref_advanced_title"
|
||||
android:key="@string/pref_advanced_key">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_debug_title">
|
||||
|
|
|
@ -29,6 +29,7 @@ import java.util.Comparator;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.linphone.SettingsFragment;
|
||||
import org.linphone.LinphoneManager.AddressType;
|
||||
import org.linphone.assistant.AssistantActivity;
|
||||
import org.linphone.assistant.RemoteProvisioningLoginActivity;
|
||||
|
@ -1423,6 +1424,12 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
|
||||
if (getCurrentFragment() == FragmentsAvailable.SETTINGS) {
|
||||
if (fragment instanceof SettingsFragment) {
|
||||
((SettingsFragment) fragment).closePreferenceScreen();
|
||||
}
|
||||
}
|
||||
|
||||
Bundle extras = intent.getExtras();
|
||||
if (extras != null && extras.getBoolean("GoToChat", false)) {
|
||||
|
|
|
@ -67,10 +67,25 @@ public class SettingsFragment extends PreferencesListFragment {
|
|||
private LinphonePreferences mPrefs;
|
||||
private Handler mHandler = new Handler();
|
||||
private LinphoneCoreListenerBase mListener;
|
||||
private PreferenceScreen currentPreferenceScreen;
|
||||
private Preference.OnPreferenceClickListener prefClickListener = new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
currentPreferenceScreen = (PreferenceScreen) preference;
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
public SettingsFragment() {
|
||||
super(R.xml.preferences);
|
||||
}
|
||||
|
||||
public void closePreferenceScreen() {
|
||||
if (currentPreferenceScreen != null) {
|
||||
currentPreferenceScreen.getDialog().dismiss();
|
||||
currentPreferenceScreen = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
|
@ -145,6 +160,15 @@ public class SettingsFragment extends PreferencesListFragment {
|
|||
|
||||
// Sets listener for each preference to update the matching value in linphonecore
|
||||
private void setListeners() {
|
||||
findPreference(getString(R.string.pref_tunnel_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_audio_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_video_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_call_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_chat_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_network_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
findPreference(getString(R.string.pref_advanced_key)).setOnPreferenceClickListener(prefClickListener);
|
||||
|
||||
|
||||
setTunnelPreferencesListener();
|
||||
setAudioPreferencesListener();
|
||||
setVideoPreferencesListener();
|
||||
|
|
Loading…
Reference in a new issue