|
@@ -17,11 +17,16 @@ import com.xplora.xplauncher.R;
|
|
|
import com.xplora.xplauncher.adapter.ContactsRecyclerAdapter;
|
|
|
import com.xplora.xplauncher.adapter.RecyclerAdapter;
|
|
|
import com.xplora.xplauncher.adapter.ViewPagerAdapter;
|
|
|
+import com.xplora.xplauncher.data.MetaData;
|
|
|
+import com.xplora.xplauncher.observer.ContactContentObserver;
|
|
|
+import com.xplora.xplauncher.observer.RecentContentObserver;
|
|
|
+import com.xplora.xplauncher.observer.SettingContentObserver;
|
|
|
import com.xplora.xplauncher.observer.SimStateReceiver;
|
|
|
import com.xplora.xplauncher.observer.TimeBroadcastReceiver;
|
|
|
import com.xplora.xplauncher.data.DataManager;
|
|
|
import com.xplora.xplauncher.model.AppModel;
|
|
|
import com.xplora.xplauncher.utils.Constant;
|
|
|
+import com.xplora.xplauncher.utils.Macros;
|
|
|
import com.xplora.xplauncher.utils.ResUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -29,16 +34,19 @@ import java.util.List;
|
|
|
|
|
|
public class MainActivity extends BaseActivity {
|
|
|
private int mCurrentPagerIndex = Constant.HOME_INDEX;
|
|
|
- private int mAppTitleStatus = 1;
|
|
|
+ private int mAppNameType = 1;
|
|
|
private int mDeleteBtnStatus = 0;
|
|
|
|
|
|
-
|
|
|
private final List<View> mPagesDatas = new ArrayList<>();
|
|
|
private final List<Object> mPagerViews = new ArrayList<>();
|
|
|
private ViewPager mViewPager = null;
|
|
|
private ViewPagerAdapter mViewPagerAdapter = null;
|
|
|
private TimeBroadcastReceiver mTimeReceiver = null;
|
|
|
|
|
|
+ private ContactContentObserver mContactObserver = null;
|
|
|
+ private RecentContentObserver mRecentObserver = null;
|
|
|
+ private SettingContentObserver mSettingbserver = null;
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreateBase() {
|
|
|
setContentView(R.layout.activity_main);
|
|
@@ -47,9 +55,7 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
protected void initDataBase() {
|
|
|
super.initDataBase();
|
|
|
-
|
|
|
- //监听数据库
|
|
|
- DataManager.registerContentObserver(new RecentContentObserver(mHandler), new ContactContentObserver(mHandler), new SettingContentObserver(mHandler));
|
|
|
+ mAppNameType = DataManager.getAppNameType();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -98,7 +104,7 @@ public class MainActivity extends BaseActivity {
|
|
|
List<AppModel> appsList = new ArrayList<>();
|
|
|
appsList = DataManager.getQuickAppsWithIndex(i);
|
|
|
|
|
|
- BasePager appsPager = new AppsPager(this, appsList, Constant.E_PAGER_TYPE.COMMON,i, mAppTitleStatus, mDeleteBtnStatus, onAppItemOnClickListener);
|
|
|
+ BasePager appsPager = new AppsPager(this, appsList, Constant.E_PAGER_TYPE.COMMON,i, mAppNameType, mDeleteBtnStatus, onAppItemOnClickListener);
|
|
|
appsPager.mBaseView.setOnClickListener(new AppsPagerOnClickListener());
|
|
|
appsPager.mBaseView.setOnLongClickListener(new AppsPagerOnClickListener());
|
|
|
|
|
@@ -109,7 +115,7 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
private void initInstalledAppsPager() {
|
|
|
List<AppModel> installedApps = DataManager.getInstalledApps();
|
|
|
- BasePager appsPager = new AppsPager(this, installedApps, Constant.E_PAGER_TYPE.APPLIST, 0, mAppTitleStatus, mDeleteBtnStatus, onAppItemOnClickListener);
|
|
|
+ BasePager appsPager = new AppsPager(this, installedApps, Constant.E_PAGER_TYPE.APPLIST, 0, mAppNameType, mDeleteBtnStatus, onAppItemOnClickListener);
|
|
|
appsPager.mBaseView.setOnClickListener(new AppsPagerOnClickListener());
|
|
|
appsPager.mBaseView.setOnLongClickListener(new AppsPagerOnClickListener());
|
|
|
|
|
@@ -300,61 +306,35 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
// ======================== 监听数据库 =======================
|
|
|
- public class RecentContentObserver extends ContentObserver {
|
|
|
- public RecentContentObserver(Handler handler) {
|
|
|
- super(handler);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onChange(boolean selfChange) {
|
|
|
- ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
- if (contactPager != null) {
|
|
|
- DataManager.queryRecent();
|
|
|
- contactPager.setRecentList(DataManager.mRecentBeanList);
|
|
|
- }
|
|
|
- super.onChange(selfChange);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public class ContactContentObserver extends ContentObserver {
|
|
|
- public ContactContentObserver(Handler handler) {
|
|
|
- super(handler);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onChange(boolean selfChange) {
|
|
|
- ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
- if (contactPager != null) {
|
|
|
- DataManager.queryContacts();
|
|
|
- contactPager.setContactsList(DataManager.mContactBeanList);
|
|
|
- }
|
|
|
- super.onChange(selfChange);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- 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) {
|
|
|
super.handleMessage(msg);
|
|
|
+
|
|
|
+ int primaryKey = msg.arg1;
|
|
|
+ if (msg.what == Constant.MSG_DB_OBSERVER_RECENT) {
|
|
|
+ ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
+ if (contactPager != null) {
|
|
|
+ DataManager.queryRecent();
|
|
|
+ contactPager.setRecentList(DataManager.mRecentBeanList);
|
|
|
+ }
|
|
|
+ } else if (msg.what == Constant.MSG_DB_OBSERVER_CONTACT) {
|
|
|
+ ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
+ if (contactPager != null) {
|
|
|
+ DataManager.queryContacts();
|
|
|
+ contactPager.setContactsList(DataManager.mContactBeanList);
|
|
|
+ }
|
|
|
+ } else if (msg.what == Constant.MSG_DB_OBSERVER_SETTING) {
|
|
|
+ int type = DataManager.getAppNameType();
|
|
|
+ if (type == mAppNameType)
|
|
|
+ return;
|
|
|
+ mAppNameType = type;
|
|
|
+ //刷新app标题
|
|
|
+ for (int i = 2; i < mPagerViews.size(); i++) {
|
|
|
+ AppsPager pager = (AppsPager)mPagerViews.get(i);
|
|
|
+ pager.refreshAppTitleStatus(mAppNameType);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -388,16 +368,40 @@ public class MainActivity extends BaseActivity {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ private void registerContentObserver() {
|
|
|
+ mRecentObserver = new RecentContentObserver(mHandler);
|
|
|
+ mContactObserver = new ContactContentObserver(mHandler);
|
|
|
+ mSettingbserver = new SettingContentObserver(mHandler);
|
|
|
+
|
|
|
+ getContentResolver().registerContentObserver(MetaData.TABLE_URI_RECENT, true, mRecentObserver);
|
|
|
+ getContentResolver().registerContentObserver(MetaData.TABLE_URI_CONTACT, true, mContactObserver);
|
|
|
+ getContentResolver().registerContentObserver(MetaData.TABLE_URI_SETTING, true, mSettingbserver);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void unRegisterContentObserver() {
|
|
|
+ getContentResolver().unregisterContentObserver(mContactObserver);
|
|
|
+ getContentResolver().unregisterContentObserver(mRecentObserver);
|
|
|
+ getContentResolver().unregisterContentObserver(mSettingbserver);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
protected void onResume() {
|
|
|
super.onResume();
|
|
|
|
|
|
initTimeChangeBroadcast();
|
|
|
+
|
|
|
+ if (!Macros.DEBUG_DATABASE) {
|
|
|
+ registerContentObserver();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected void onPause() {
|
|
|
super.onPause();
|
|
|
+
|
|
|
+ if (!Macros.DEBUG_DATABASE) {
|
|
|
+ unRegisterContentObserver();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|