Index: blimp/client/core/android/java/src/org/chromium/blimp/core/settings/AboutBlimpPreferences.java |
diff --git a/blimp/client/core/android/java/src/org/chromium/blimp/core/settings/AboutBlimpPreferences.java b/blimp/client/core/android/java/src/org/chromium/blimp/core/settings/AboutBlimpPreferences.java |
index 156160410039f75e9d7096e3ee05d6726f4420a7..7788b01f8eb5c02a33fab61bd45d1e8a3c1a886f 100644 |
--- a/blimp/client/core/android/java/src/org/chromium/blimp/core/settings/AboutBlimpPreferences.java |
+++ b/blimp/client/core/android/java/src/org/chromium/blimp/core/settings/AboutBlimpPreferences.java |
@@ -16,6 +16,7 @@ import android.preference.SwitchPreference; |
import android.support.v7.app.AlertDialog; |
import org.chromium.base.ContextUtils; |
+import org.chromium.base.ThreadUtils; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.base.annotations.CalledByNative; |
import org.chromium.base.annotations.JNINamespace; |
@@ -27,6 +28,7 @@ import org.chromium.components.sync.signin.ChromeSigninController; |
*/ |
@JNINamespace("blimp::client") |
public class AboutBlimpPreferences extends PreferenceFragment { |
+ private static final String PREF_ENGINE_INFO = "blimp_engine_ip"; |
David Trainor- moved to gerrit
2016/09/14 15:49:02
Change the string to info as well?
xingliu
2016/09/14 20:44:24
Done, there will be resource migration in next pat
|
/** |
* If this fragment is waiting for user sign in. |
*/ |
@@ -72,15 +74,24 @@ public class AboutBlimpPreferences extends PreferenceFragment { |
@Override |
public void onCreate(Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
- initializeNative(); |
getActivity().setTitle(R.string.blimp_about_blimp_preferences); |
- updateSettingPage(); |
+ |
+ PreferenceScreen screen = getPreferenceScreen(); |
+ if (screen != null) screen.removeAll(); |
+ addPreferencesFromResource(R.xml.blimp_preferences); |
+ |
+ setupBlimpSwitch(); |
+ setupAssignerPreferences(); |
+ |
+ // Initialize native layer must be called after Java loads the prefrences entries from xml |
+ // file. |
+ initializeNative(); |
} |
@Override |
public void onResume() { |
super.onResume(); |
- updateSettingPage(); |
+ setupBlimpSwitch(); |
} |
@Override |
@@ -89,16 +100,6 @@ public class AboutBlimpPreferences extends PreferenceFragment { |
super.onDestroy(); |
} |
- // Reload the items in preferences list. |
- private void updateSettingPage() { |
- PreferenceScreen screen = getPreferenceScreen(); |
- if (screen != null) screen.removeAll(); |
- addPreferencesFromResource(R.xml.blimp_preferences); |
- |
- setupBlimpSwitch(); |
- setupAssignerPreferences(); |
- } |
- |
/** |
* Setup the switch preference for Blimp. |
*/ |
@@ -236,8 +237,7 @@ public class AboutBlimpPreferences extends PreferenceFragment { |
@VisibleForTesting |
@CalledByNative |
protected void onSignedOut() { |
- // If user signed out, turn off the switch. We also do a sign in state check on |
- // {@link AboutBlimpPreferences#updateSettingPage()}. |
+ // If user signed out, turn off the switch. We also do a sign in state check in onResume. |
final SwitchPreference pref = |
(SwitchPreference) findPreference(PreferencesUtil.PREF_BLIMP_SWITCH); |
pref.setChecked(false); |
@@ -260,6 +260,20 @@ public class AboutBlimpPreferences extends PreferenceFragment { |
} |
} |
+ /** |
+ * Setup engine connection info. This entry is not persisted into shared preference. |
+ * @param engineInfo The engine IP address if connected to engine, or error string displayed to |
+ * the user. |
+ */ |
+ @CalledByNative |
+ private void setEngineInfo(String engineInfo) { |
+ ThreadUtils.assertOnUiThread(); |
+ |
+ Preference pref = findPreference(PREF_ENGINE_INFO); |
+ assert pref != null; |
+ pref.setSummary(engineInfo); |
+ } |
+ |
@VisibleForTesting |
protected void initializeNative() { |
mNativeBlimpSettingsAndroid = nativeInit(); |