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_first_time_linphone_chat_storage">pref_first_time_linphone_chat_storage</string>
|
||||||
|
|
||||||
<string name="pref_sipaccount_key">pref_sipaccount_key</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_advanced_key">pref_advanced_key</string>
|
||||||
<string name="pref_manage_key">pref_manage_key</string>
|
<string name="pref_manage_key">pref_manage_key</string>
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,8 @@
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:title="@string/pref_audio_title">
|
android:title="@string/pref_audio_title"
|
||||||
|
android:key="@string/pref_audio_key">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/pref_audio_title">
|
android:title="@string/pref_audio_title">
|
||||||
|
@ -176,7 +177,8 @@
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:title="@string/pref_call_title">
|
android:title="@string/pref_call_title"
|
||||||
|
android:key="@string/pref_call_key">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/pref_call_title">
|
android:title="@string/pref_call_title">
|
||||||
|
@ -228,7 +230,8 @@
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:title="@string/pref_chat_title">
|
android:title="@string/pref_chat_title"
|
||||||
|
android:key="@string/pref_chat_key">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/pref_chat_title">
|
android:title="@string/pref_chat_title">
|
||||||
|
@ -250,7 +253,8 @@
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:title="@string/pref_network_title">
|
android:title="@string/pref_network_title"
|
||||||
|
android:key="@string/pref_network_key">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/pref_network_title">
|
android:title="@string/pref_network_title">
|
||||||
|
@ -338,7 +342,8 @@
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:title="@string/pref_advanced_title">
|
android:title="@string/pref_advanced_title"
|
||||||
|
android:key="@string/pref_advanced_key">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/pref_debug_title">
|
android:title="@string/pref_debug_title">
|
||||||
|
|
|
@ -29,6 +29,7 @@ import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.linphone.SettingsFragment;
|
||||||
import org.linphone.LinphoneManager.AddressType;
|
import org.linphone.LinphoneManager.AddressType;
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.assistant.RemoteProvisioningLoginActivity;
|
import org.linphone.assistant.RemoteProvisioningLoginActivity;
|
||||||
|
@ -1423,6 +1424,12 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
@Override
|
@Override
|
||||||
protected void onNewIntent(Intent intent) {
|
protected void onNewIntent(Intent intent) {
|
||||||
super.onNewIntent(intent);
|
super.onNewIntent(intent);
|
||||||
|
|
||||||
|
if (getCurrentFragment() == FragmentsAvailable.SETTINGS) {
|
||||||
|
if (fragment instanceof SettingsFragment) {
|
||||||
|
((SettingsFragment) fragment).closePreferenceScreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Bundle extras = intent.getExtras();
|
Bundle extras = intent.getExtras();
|
||||||
if (extras != null && extras.getBoolean("GoToChat", false)) {
|
if (extras != null && extras.getBoolean("GoToChat", false)) {
|
||||||
|
|
|
@ -67,10 +67,25 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
private LinphonePreferences mPrefs;
|
private LinphonePreferences mPrefs;
|
||||||
private Handler mHandler = new Handler();
|
private Handler mHandler = new Handler();
|
||||||
private LinphoneCoreListenerBase mListener;
|
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() {
|
public SettingsFragment() {
|
||||||
super(R.xml.preferences);
|
super(R.xml.preferences);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void closePreferenceScreen() {
|
||||||
|
if (currentPreferenceScreen != null) {
|
||||||
|
currentPreferenceScreen.getDialog().dismiss();
|
||||||
|
currentPreferenceScreen = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle bundle) {
|
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
|
// Sets listener for each preference to update the matching value in linphonecore
|
||||||
private void setListeners() {
|
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();
|
setTunnelPreferencesListener();
|
||||||
setAudioPreferencesListener();
|
setAudioPreferencesListener();
|
||||||
setVideoPreferencesListener();
|
setVideoPreferencesListener();
|
||||||
|
|
Loading…
Reference in a new issue