Merge "Don't reference framework strings." into nyc-dev
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
index 5109edd..790d99b 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
@@ -32,6 +32,8 @@
public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
+ private static final String SAVE_KEY_TITLE = "activity_title";
+
private boolean mSendExtraWindowStateChanged;
@Override
@@ -62,6 +64,18 @@
}
@Override
+ protected void onSaveInstanceState(Bundle savedState) {
+ savedState.putCharSequence(SAVE_KEY_TITLE, getTitle());
+ super.onSaveInstanceState(savedState);
+ }
+
+ @Override
+ protected void onRestoreInstanceState(Bundle savedState) {
+ super.onRestoreInstanceState(savedState);
+ setTitle(savedState.getCharSequence(SAVE_KEY_TITLE));
+ }
+
+ @Override
public void onResume() {
super.onResume();
mSendExtraWindowStateChanged = false;
diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java
index 5019844..e6c1243 100644
--- a/src/com/android/settings/dashboard/SummaryLoader.java
+++ b/src/com/android/settings/dashboard/SummaryLoader.java
@@ -46,6 +46,7 @@
private final HandlerThread mWorkerThread;
private DashboardAdapter mAdapter;
+ private boolean mListening;
public SummaryLoader(Activity activity, List<DashboardCategory> categories) {
mHandler = new Handler();
@@ -64,6 +65,8 @@
public void release() {
mWorkerThread.quitSafely();
+ // Make sure we aren't listening.
+ setListeningW(false);
}
public void setAdapter(DashboardAdapter adapter) {
@@ -122,6 +125,27 @@
return tile.metaData;
}
+ private synchronized void setListeningW(boolean listening) {
+ if (mListening == listening) return;
+ if (DEBUG) Log.d(TAG, "Listening " + listening);
+ for (SummaryProvider p : mSummaryMap.keySet()) {
+ p.setListening(listening);
+ }
+ mListening = listening;
+ }
+
+ private synchronized void makeProviderW(Tile tile) {
+ SummaryProvider provider = getSummaryProvider(tile);
+ if (provider != null) {
+ if (DEBUG) Log.d(TAG, "Creating " + tile);
+ mSummaryMap.put(provider, tile);
+ if (mListening) {
+ // If we are somehow already listening, put the provider in that state.
+ provider.setListening(true);
+ }
+ }
+ }
+
public interface SummaryProvider {
void setListening(boolean listening);
}
@@ -143,18 +167,11 @@
switch (msg.what) {
case MSG_GET_PROVIDER:
Tile tile = (Tile) msg.obj;
- SummaryProvider provider = getSummaryProvider(tile);
- if (provider != null) {
- if (DEBUG) Log.d(TAG, "Creating " + tile);
- mSummaryMap.put(provider, tile);
- }
+ makeProviderW(tile);
break;
case MSG_SET_LISTENING:
boolean listening = msg.arg1 != 0;
- if (DEBUG) Log.d(TAG, "Listening " + listening);
- for (SummaryProvider p : mSummaryMap.keySet()) {
- p.setListening(listening);
- }
+ setListeningW(listening);
break;
}
}