liuzhenxing 3 жил өмнө
parent
commit
aeefa07fcb

+ 20 - 1
app/src/main/java/com/xplora/xplauncher/activity/MainActivity.java

@@ -50,7 +50,7 @@ public class MainActivity extends BaseActivity {
         super.initDataBase();
 
         //监听数据库
-        DataManager.registerContentObserver(new RecentContentObserver(mHandler), new ContactContentObserver(mHandler));
+        DataManager.registerContentObserver(new RecentContentObserver(mHandler), new ContactContentObserver(mHandler), new SettingContentObserver(mHandler));
     }
 
     @Override
@@ -322,6 +322,25 @@ public class MainActivity extends BaseActivity {
         }
     }
 
+    public class SettingContentObserver extends ContentObserver {
+        public SettingContentObserver(Handler handler) {
+            super(handler);
+        }
+
+        @Override
+        public void onChange(boolean selfChange) {
+            DataManager.loadSetting();
+            //刷新app标题
+            for (int i = 2; i < mPagerViews.size(); i++) {
+                AppsPager pager = (AppsPager)mPagerViews.get(i);
+                pager.refreshAppTitleStatus(DataManager.getAppTitleType());
+            }
+            //刷新表盘
+            changeFace(DataManager.getFaceIndex());
+            super.onChange(selfChange);
+        }
+    }
+
     Handler mHandler = new Handler(Looper.myLooper()) {
         @Override
         public void handleMessage(@NonNull Message msg) {

+ 4 - 3
app/src/main/java/com/xplora/xplauncher/data/DataManager.java

@@ -48,11 +48,12 @@ public class DataManager extends Application {
         loadWeatherIndex();
     }
 
-    public static void registerContentObserver(ContentObserver recentObserver, ContentObserver contactObserver) {
+    public static void registerContentObserver(ContentObserver recentObserver, ContentObserver contactObserver, ContentObserver settingObserver) {
         if (Constant.DEBUG)
             return;
         sContext.getContentResolver().registerContentObserver(MetaData.TABLE_URI_RECENT, true, recentObserver);
         sContext.getContentResolver().registerContentObserver(MetaData.TABLE_URI_CONTACT, true, contactObserver);
+        sContext.getContentResolver().registerContentObserver(MetaData.TABLE_URI_SETTING, true, settingObserver);
     }
 
     public static List<AppModel> loadInstalledApps() {
@@ -104,7 +105,7 @@ public class DataManager extends Application {
         }
     }
 
-    public void loadSetting() {
+    public static void loadSetting() {
         if (Constant.DEBUG) {
             loadQuickApps("");
         } else {
@@ -116,7 +117,7 @@ public class DataManager extends Application {
         }
     }
 
-    public void loadQuickApps(String quickContent) {
+    public static void loadQuickApps(String quickContent) {
         if (Constant.DEBUG) {
             for (int i = 0; i < Constant.COUNT_QUICK_APP; i++) {
                 if (mInstalledAppsList.size() > i) {