diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2014-07-23 18:15:42 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2014-07-23 18:20:53 -0700 |
commit | b0a464fd2cbbe00821d483d28e76a04ac17996ea (patch) | |
tree | b6e020e33f571ceb2dfd624ed36a96fe34e1a86a /src/com/android/settings/dashboard | |
parent | ceb335f88fc0df88dafc8063733842afe35c5da1 (diff) | |
download | packages_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.java | 45 |
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) { |