summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/dashboard
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2014-07-23 18:15:42 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2014-07-23 18:20:53 -0700
commitb0a464fd2cbbe00821d483d28e76a04ac17996ea (patch)
treeb6e020e33f571ceb2dfd624ed36a96fe34e1a86a /src/com/android/settings/dashboard
parentceb335f88fc0df88dafc8063733842afe35c5da1 (diff)
downloadpackages_apps_Settings-b0a464fd2cbbe00821d483d28e76a04ac17996ea.tar.gz
packages_apps_Settings-b0a464fd2cbbe00821d483d28e76a04ac17996ea.tar.bz2
packages_apps_Settings-b0a464fd2cbbe00821d483d28e76a04ac17996ea.zip
Fix how Home Activities are refreshed
- remove that HomePackageReceiver from the AndroidManifest that could force Settings to run - use a HomePackageReceiver into HomeSettings and DashboardSummary - fix also the BatteryInfoReceiver for refreshing the Dashboard Change-Id: Id3891529fc176e7e4c450f2ce723f8ac2af66c58
Diffstat (limited to 'src/com/android/settings/dashboard')
-rw-r--r--src/com/android/settings/dashboard/DashboardSummary.java45
1 files changed, 35 insertions, 10 deletions
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index ed89d89f7..3e438fc0a 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -17,7 +17,10 @@
package com.android.settings.dashboard;
import android.app.Fragment;
+import android.content.BroadcastReceiver;
import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Handler;
@@ -53,12 +56,41 @@ public class DashboardSummary extends Fragment {
}
};
+ private class HomePackageReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ rebuildUI(context);
+ }
+ }
+ private HomePackageReceiver mHomePackageReceiver = new HomePackageReceiver();
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ sendRebuildUI();
+
+ final IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+ filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
+ filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+ filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
+ filter.addCategory(Intent.CATEGORY_HOME);
+ filter.addCategory(Intent.CATEGORY_LAUNCHER);
+ filter.addDataScheme("package");
+ getActivity().registerReceiver(mHomePackageReceiver, filter);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+
+ getActivity().unregisterReceiver(mHomePackageReceiver);
+ }
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- final Context context = getActivity();
-
mLayoutInflater = inflater;
final View rootView = inflater.inflate(R.layout.dashboard, container, false);
@@ -79,7 +111,7 @@ public class DashboardSummary extends Fragment {
mDashboard.removeAllViews();
List<DashboardCategory> categories =
- ((SettingsActivity) context).getDashboardCategories();
+ ((SettingsActivity) context).getDashboardCategories(true);
final int count = categories.size();
@@ -115,13 +147,6 @@ public class DashboardSummary extends Fragment {
Log.d(LOG_TAG, "rebuildUI took: " + delta + " ms");
}
- @Override
- public void onResume() {
- super.onResume();
-
- sendRebuildUI();
- }
-
private void updateTileView(Context context, Resources res, DashboardTile tile,
ImageView tileIcon, TextView tileTextView, TextView statusTextView) {