|
@@ -1,9 +1,14 @@
|
|
|
package com.xplora.xplauncher.activity;
|
|
|
|
|
|
+import androidx.annotation.NonNull;
|
|
|
import androidx.viewpager.widget.ViewPager;
|
|
|
|
|
|
import android.content.ComponentName;
|
|
|
import android.content.Intent;
|
|
|
+import android.database.ContentObserver;
|
|
|
+import android.os.Handler;
|
|
|
+import android.os.Looper;
|
|
|
+import android.os.Message;
|
|
|
import android.view.View;
|
|
|
|
|
|
import com.xplora.xplauncher.R;
|
|
@@ -33,7 +38,6 @@ public class MainActivity extends BaseActivity {
|
|
|
private int mAppTitleStatus = 1;
|
|
|
private int mDeleteBtnStatus = 0;
|
|
|
private TimeBroadcastReceiver mTimeReceiver = null;
|
|
|
- private Object ContactsPagerOnClickListener;
|
|
|
|
|
|
@Override
|
|
|
protected void onCreateBase() {
|
|
@@ -44,7 +48,8 @@ public class MainActivity extends BaseActivity {
|
|
|
protected void initDataBase() {
|
|
|
super.initDataBase();
|
|
|
|
|
|
- //DataManager.initData(this);
|
|
|
+ //监听数据库
|
|
|
+ DataManager.registerContentObserver(new RecentContentObserver(mHandler), new ContactContentObserver(mHandler));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -52,8 +57,6 @@ public class MainActivity extends BaseActivity {
|
|
|
super.initViewBase();
|
|
|
|
|
|
initViewPager();
|
|
|
-// refreshWeather();
|
|
|
-// refreshTime();
|
|
|
initBroadcast();
|
|
|
}
|
|
|
|
|
@@ -74,34 +77,7 @@ public class MainActivity extends BaseActivity {
|
|
|
mViewPagerAdapter = new ViewPagerAdapter(mPagesDatas);//创建适配器对象
|
|
|
mViewPager.setAdapter(mViewPagerAdapter);//设置适配器
|
|
|
mViewPager.setCurrentItem(Constant.HOME_INDEX);
|
|
|
-
|
|
|
- mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
|
|
- @Override
|
|
|
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageSelected(int position) {
|
|
|
- if (position == 0) {
|
|
|
- ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
- if (contactPager != null && !contactPager.getIsSetData()) {
|
|
|
- contactPager.setDataList(DataManager.loadRecent(), DataManager.loadContacts());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //时间
|
|
|
- HomePager homeView = (HomePager)mPagerViews.get(1);
|
|
|
- if (position == 1) {
|
|
|
- homeView.refreshTime();
|
|
|
- }else {
|
|
|
- homeView.pauseSecondAnim();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageScrollStateChanged(int state) {
|
|
|
- }
|
|
|
- });
|
|
|
+ mViewPager.addOnPageChangeListener(new ViewPageChangeListener());
|
|
|
}
|
|
|
|
|
|
private void initContactsPager() {
|
|
@@ -144,6 +120,34 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
// ======================== Listener =================================
|
|
|
+ public class ViewPageChangeListener implements ViewPager.OnPageChangeListener {
|
|
|
+ @Override
|
|
|
+ public void onPageSelected(int position) {
|
|
|
+ //第一次刷新联系人信息
|
|
|
+ if (position == 0) {
|
|
|
+ ContactsPager contactPager = (ContactsPager)mPagerViews.get(0);
|
|
|
+ if (contactPager != null && !contactPager.getIsSetData()) {
|
|
|
+ contactPager.setDataList(DataManager.loadRecent(), DataManager.loadContacts());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //时间
|
|
|
+ HomePager homeView = (HomePager)mPagerViews.get(1);
|
|
|
+ if (position == 1) {
|
|
|
+ homeView.refreshTime();
|
|
|
+ }else {
|
|
|
+ homeView.pauseSecondAnim();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public void onPageScrollStateChanged(int state) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public class HomePagerOnLongClick implements View.OnLongClickListener {
|
|
|
@Override
|
|
|
public boolean onLongClick(View v) {
|
|
@@ -296,6 +300,44 @@ public class MainActivity extends BaseActivity {
|
|
|
//mViewPagerAdapter.notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
+ // ======================== 监听数据库 =======================
|
|
|
+ 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) {
|
|
|
+ contactPager.setContactsList(DataManager.loadContacts());
|
|
|
+ }
|
|
|
+ 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) {
|
|
|
+ contactPager.setRecentList(DataManager.loadRecent());
|
|
|
+ }
|
|
|
+ super.onChange(selfChange);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Handler mHandler = new Handler(Looper.myLooper()) {
|
|
|
+ @Override
|
|
|
+ public void handleMessage(@NonNull Message msg) {
|
|
|
+ super.handleMessage(msg);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
// ======================== 广播 =======================
|
|
|
public void initBroadcast() {
|
|
|
//时间广播, 1分钟一次
|