From a2ef127a4dd8f8d8dfaea3591f7c490e9dfcde18 Mon Sep 17 00:00:00 2001 From: Fanhuitong <981964879@qq.com> Date: Fri, 13 Jan 2023 19:04:52 +0800 Subject: [PATCH] =?UTF-8?q?version:8.1=20fix:=20update:=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96,=E5=9C=B0=E5=9B=BE=E4=BD=8E=E5=8A=9F?= =?UTF-8?q?=E8=80=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 +- app/src/main/java/com/uiui/aios/AppInfo.java | 9 - .../uiui/aios/activity/main/MainActivity.java | 13 +- .../aios/activity/main/MainPresenter.java | 94 +++--- .../java/com/uiui/aios/base/BaseFragment.java | 35 ++- .../com/uiui/aios/config/CommonConfig.java | 12 + .../uiui/aios/fragment/AppListFragment.java | 8 +- .../uiui/aios/fragment/SecondFragment.java | 5 + .../aios/fragment/custom/CustomContact.java | 2 + .../aios/fragment/custom/CustomFragment.java | 277 +++++++++++------- .../aios/fragment/custom/CustomPresenter.java | 160 +++++----- .../com/uiui/aios/manager/AmapManager.java | 2 +- .../aios/network/NetInterfaceManager.java | 71 ++++- .../com/uiui/aios/network/URLAddress.java | 2 - .../com/uiui/aios/receiver/BootReceiver.java | 6 +- .../uiui/aios/service/main/MainService.java | 2 +- .../java/com/uiui/aios/utils/ApkUtils.java | 10 +- .../main/res/layout-land/fragment_custom.xml | 7 - .../main/res/layout-port/fragment_custom.xml | 2 +- app/src/main/res/layout/item_notification.xml | 13 +- 20 files changed, 442 insertions(+), 294 deletions(-) delete mode 100644 app/src/main/java/com/uiui/aios/AppInfo.java create mode 100644 app/src/main/java/com/uiui/aios/config/CommonConfig.java diff --git a/app/build.gradle b/app/build.gradle index 602d01f..b9dbfa0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.uiui.aios" minSdkVersion 24 targetSdkVersion 29 - versionCode 64 - versionName "7.3" + versionCode 72 + versionName "8.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -196,7 +196,7 @@ dependencies { // implementation 'io.reactivex.rxjava2:rxjava:2.2.12' // implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' // - implementation 'com.squareup.okhttp3:okhttp:4.9.3' + implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' diff --git a/app/src/main/java/com/uiui/aios/AppInfo.java b/app/src/main/java/com/uiui/aios/AppInfo.java deleted file mode 100644 index 0081c0a..0000000 --- a/app/src/main/java/com/uiui/aios/AppInfo.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.uiui.aios; - -import java.io.Serializable; - -public class AppInfo implements Serializable { - - private static final long serialVersionUID = -5488458740561098181L; - -} diff --git a/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java b/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java index 4550b02..6e1c4f0 100644 --- a/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java @@ -34,6 +34,7 @@ import com.uiui.aios.base.BaseActivity; import com.uiui.aios.base.BaseFragmentPagerAdapter; import com.uiui.aios.bean.AlarmItem; import com.uiui.aios.bean.DesktopIcon; +import com.uiui.aios.config.CommonConfig; import com.uiui.aios.dialog.PasswordDialog; import com.uiui.aios.dialog.PrivacyPolicyDialog; import com.uiui.aios.fragment.AppListFragment; @@ -123,6 +124,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { mCustomFragment = new CustomFragment(); mFragments.add(mCustomFragment); mMainPresenter.getSystemSettings(); +// mMainPresenter.getAdminSnSetting(); ArrayList desktopIcons = ApkUtils.queryFilterAppInfo(this); int x = 0; @@ -329,6 +331,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { @Override protected void onStart() { super.onStart(); + Log.e(TAG, "onStart: "); AppUsedTimeUtils.getInstance().setAppPackageName(BuildConfig.APPLICATION_ID); AppUsedTimeUtils.getInstance().setStartTime(System.currentTimeMillis()); getAlarmData(); @@ -351,7 +354,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { ToastUtil.show("请授予\"" + getString(R.string.app_name) + "\"使用通知权"); gotoNotificationAccessSetting(this); } - int is_activation = Settings.Global.getInt(getContentResolver(), "uiui_activation", 0); + int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); Log.e(TAG, "onResume: is_activation = " + is_activation); if (is_activation == 1) { LauncherUtils.setDefaultDesktop(MainActivity.this, BuildConfig.APPLICATION_ID, this.getClass().getName()); @@ -359,8 +362,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { LauncherUtils.setDefaultDesktop(MainActivity.this, LauncherUtils.Launcher3, LauncherUtils.Launcher3Class); } addData(); - mMainPresenter.sendRunningInfo(); - mMainPresenter.getAdminSnSetting(); addHomeWatcher(); } @@ -394,7 +395,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { public void onHomePressed() { //按了HOME键 Log.e(TAG, "onHomePressed: "); - int is_activation = Settings.Global.getInt(getContentResolver(), "uiui_activation", 0); + int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); Log.e(TAG, "onHomePressed: is_activation = " + is_activation); if (is_activation == 0) { LauncherUtils.openLauncher3(MainActivity.this); @@ -461,12 +462,15 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { @Override protected void onRestart() { super.onRestart(); + Log.e(TAG, "onRestart: "); mMainPresenter.sendAPPUsage(); + mMainPresenter.sendRunningInfo(); } @Override protected void onPause() { super.onPause(); + Log.e(TAG, "onPause: "); if (mHomeWatcher != null) { mHomeWatcher.stopWatch();// 在销毁时停止监听,不然会报错的。 } @@ -475,6 +479,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { @Override protected void onStop() { super.onStop(); + Log.e(TAG, "onStop: "); AppUsedTimeUtils.getInstance().setEndTime(System.currentTimeMillis()); } diff --git a/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java b/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java index b4fd44c..d743073 100644 --- a/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java +++ b/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java @@ -56,57 +56,57 @@ public class MainPresenter implements MainContact.Presenter { @Override public void getSystemSettings() { - NetInterfaceManager.getInstance().getSystemSettings(true, getLifecycle(), new NetInterfaceManager.ContactCallback() { - @Override - public void setContact(List contactList) { - Intent intent = new Intent("setting_sos"); - mContext.sendBroadcast(intent); - } - - @Override - public void setEmergencyContact(List emergencyContact) { - - } - - @Override - public void setEmpty() { - - } - - @Override - public void onComplete() { - mView.setSystemSettings(); - } - }); - +// NetInterfaceManager.getInstance().getSystemSettings(true, getLifecycle(), new NetInterfaceManager.ContactCallback() { +// @Override +// public void setContact(List contactList) { +// Intent intent = new Intent("setting_sos"); +// mContext.sendBroadcast(intent); +// } +// +// @Override +// public void setEmergencyContact(List emergencyContact) { +// +// } +// +// @Override +// public void setEmpty() { +// +// } +// +// @Override +// public void onComplete() { +// +// } +// }); + mView.setSystemSettings(); } @Override public void getDesktopLayout() { - NetInterfaceManager.getInstance().getDesktopLayoutObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e("getDesktopLayout", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse> listBaseResponse) { - Log.e("getDesktopLayout", "onNext: " + listBaseResponse); - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e("getDesktopLayout", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("getDesktopLayout", "onComplete: "); - } - }); +// NetInterfaceManager.getInstance().getDesktopLayoutObservable() +// .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) +// .subscribe(new Observer>>() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Log.e("getDesktopLayout", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse> listBaseResponse) { +// Log.e("getDesktopLayout", "onNext: " + listBaseResponse); +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Log.e("getDesktopLayout", "onError: " + e.getMessage()); +// onComplete(); +// } +// +// @Override +// public void onComplete() { +// Log.e("getDesktopLayout", "onComplete: "); +// } +// }); } @Override diff --git a/app/src/main/java/com/uiui/aios/base/BaseFragment.java b/app/src/main/java/com/uiui/aios/base/BaseFragment.java index 61c14b6..db6765c 100644 --- a/app/src/main/java/com/uiui/aios/base/BaseFragment.java +++ b/app/src/main/java/com/uiui/aios/base/BaseFragment.java @@ -18,9 +18,13 @@ import com.trello.rxlifecycle4.android.RxLifecycleAndroid; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.subjects.BehaviorSubject; -public class BaseFragment extends Fragment implements LifecycleProvider { +public abstract class BaseFragment extends Fragment implements LifecycleProvider { public final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); + protected boolean isViewInitiated; + protected boolean isVisibleToUser; + protected boolean isDataInitiated; + @Override @NonNull @CheckResult @@ -56,6 +60,35 @@ public class BaseFragment extends Fragment implements LifecycleProvider { + void getNetSnIsActivation(); void getSnIsActivation(); void getSnInfo(); void getUserAvatarInfo(); @@ -18,6 +19,7 @@ public class CustomContact { } public interface CustomView extends BaseView { + void setNetSnIsActivation(boolean activation); void setSnIsActivation(boolean activation); void setSnInfo(SnInfo snInfo); void setUserAvatarInfo(UserAvatarInfo userAvatarInfo); diff --git a/app/src/main/java/com/uiui/aios/fragment/custom/CustomFragment.java b/app/src/main/java/com/uiui/aios/fragment/custom/CustomFragment.java index 314d1d8..d457ec6 100644 --- a/app/src/main/java/com/uiui/aios/fragment/custom/CustomFragment.java +++ b/app/src/main/java/com/uiui/aios/fragment/custom/CustomFragment.java @@ -61,6 +61,7 @@ import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.UserAvatarInfo; +import com.uiui.aios.config.CommonConfig; import com.uiui.aios.dialog.SingleDialog; import com.uiui.aios.disklrucache.CacheHelper; import com.uiui.aios.manager.AmapManager; @@ -91,17 +92,19 @@ import butterknife.ButterKnife; * create an instance of this fragment. */ public class CustomFragment extends BaseFragment implements CustomContact.CustomView, NetworkUtils.OnNetworkStatusChangedListener { + private static final String TAG = CustomFragment.class.getSimpleName(); + + // @BindView(R.id.cl_alarm) // ConstraintLayout cl_alarm; - @BindView(R.id.cl_weather) ConstraintLayout cl_weather; @BindView(R.id.cl_activation) ConstraintLayout cl_activation; @BindView(R.id.cl_clean) - ConstraintLayout cl_shared_space; + ConstraintLayout cl_clean; @BindView(R.id.cl_sos) - ConstraintLayout cl_soso; + ConstraintLayout cl_sos; @BindView(R.id.cl_guard) ConstraintLayout cl_guard; @BindView(R.id.cl_health) @@ -133,8 +136,8 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom CircleProgressView cpv; // @BindView(R.id.iv_charging) // ImageView iv_charging; - @BindView(R.id.rv_noti) - RecyclerView rv_noti; +// @BindView(R.id.rv_noti) +// RecyclerView rv_noti; // @BindView(R.id.rv_clock) // RecyclerView rv_clock; // @BindView(R.id.wifi_ssid) @@ -154,13 +157,12 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom @BindView(R.id.tv_time) TextView tv_time; - private String TAG = CustomFragment.class.getSimpleName(); // private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5}; private int[] mShaderColors = new int[]{0xFF27602f, 0xFF27602f, 0xFF27602f, 0xFF27602f, 0xFF27602f, 0xFF27602f, 0xFF27602f}; private int[] mShaderColorsRed = new int[]{0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000}; private View rootView; private List alarmItemList; - private NotificationAdapter notificationAdapter; +// private NotificationAdapter notificationAdapter; // private AlarmClockAdapter alarmClockAdapter; private SOSNnmberAdapter sosNnmberAdapter; private MMKV mMMKV; @@ -214,8 +216,14 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom mParam2 = getArguments().getString(ARG_PARAM2); } mMMKV = MMKV.defaultMMKV(); + } + @Override + public void fetchData() { + Log.e(TAG, "fetchData: "); + initData(); + } @Override public void onDisconnected() { @@ -269,7 +277,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom } } - private void registerAlarmClockReceiver() { if (null == mAlarmClockReceiver) { mAlarmClockReceiver = new AlarmClockReceiver(); @@ -291,7 +298,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom Handler.getMain().postDelayed(new Runnable() { @Override public void run() { - getAlarmClock(); + mCustomPresenter.getAlarmClock(); } }, 3456); } @@ -357,9 +364,9 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom } }; + @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment rootView = inflater.inflate(R.layout.fragment_custom, container, false); mContext = (Activity) rootView.getContext(); @@ -370,7 +377,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom mCRv = mContext.getContentResolver(); ButterKnife.bind(this, rootView); initView(); - initData(); return rootView; } @@ -405,24 +411,28 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom cl_guard.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - getAlarm(); + if (checkExpired()) { + showExpired(); + } else { + getAlarm(); + } } }); - notificationAdapter = new NotificationAdapter(); - notificationAdapter.setOnClickListener(new NotificationAdapter.OnClickListener() { - @Override - public void onClick() { - getAlarm(); - } - }); - rv_noti.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - getAlarm(); - } - }); - rv_noti.setLayoutManager(new LinearLayoutManager(mContext)); - rv_noti.setAdapter(notificationAdapter); +// notificationAdapter = new NotificationAdapter(); +// notificationAdapter.setOnClickListener(new NotificationAdapter.OnClickListener() { +// @Override +// public void onClick() { +// getAlarm(); +// } +// }); +// rv_noti.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// getAlarm(); +// } +// }); +// rv_noti.setLayoutManager(new LinearLayoutManager(mContext)); +// rv_noti.setAdapter(notificationAdapter); if (isWifiConnect()) { // wifi_ssid.setText(getConnectWifiSsid()); } else { @@ -431,16 +441,24 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom sosNnmberAdapter = new SOSNnmberAdapter(); rv_sos.setLayoutManager(new LinearLayoutManager(mContext)); rv_sos.setAdapter(sosNnmberAdapter); - cl_soso.setOnClickListener(new View.OnClickListener() { + cl_sos.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - checkSosNumber(); + if (checkExpired()) { + showExpired(); + } else { + checkSosNumber(); + } } }); cl_weather.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - startActivity(new Intent(mContext, WeatherActivity.class)); + if (checkExpired()) { + showExpired(); + } else { + startActivity(new Intent(mContext, WeatherActivity.class)); + } } }); cl_activation.setOnClickListener(new View.OnClickListener() { @@ -449,24 +467,14 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom ApkUtils.openApp(mContext, "com.uiui.sn"); } }); - cl_shared_space.setOnClickListener(new View.OnClickListener() { + cl_clean.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - killBackgroundApp(); -// SingleDialog dialog = new SingleDialog(mContext); -// dialog.setTitle("温馨提示") -// .setMessage("此功能暂未上线") -// .setPositive("确定") -//// .setNegtive("拒绝") -//// .setSingle(true) -// -// .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() { -// @Override -// public void onPositiveClick() { -// dialog.dismiss(); -// } -// }); -// dialog.show(); + if (checkExpired()) { + showExpired(); + } else { + killBackgroundApp(); + } } }); cl_health.setOnClickListener(new View.OnClickListener() { @@ -478,25 +486,37 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom cl_contact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - checkContact(); + if (checkExpired()) { + showExpired(); + } else { + checkContact(); + } } }); cl_ai.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - openScheme(SchemeUtils.SCHEME_HAND); + if (checkExpired()) { + showExpired(); + } else { + openScheme(SchemeUtils.SCHEME_HAND); + } } }); cl_app.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (TextUtils.isEmpty(quickAppPackagesName)) { - int is_quick = Settings.Global.getInt(mContext.getContentResolver(), QuickAppActivity.QUICK_APP_ENABLED_KEY, 0); - if (is_quick == 0) { - startActivity(new Intent(mContext, QuickAppActivity.class)); - } + if (checkExpired()) { + showExpired(); } else { - ApkUtils.openPackage(mContext, quickAppPackagesName); + if (TextUtils.isEmpty(quickAppPackagesName)) { + int is_quick = Settings.Global.getInt(mContext.getContentResolver(), QuickAppActivity.QUICK_APP_ENABLED_KEY, 0); + if (is_quick == 0) { + startActivity(new Intent(mContext, QuickAppActivity.class)); + } + } else { + ApkUtils.openPackage(mContext, quickAppPackagesName); + } } } }); @@ -515,12 +535,61 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom cl_appstore.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - ApkUtils.openApp(mContext, "com.uiui.appstore"); + if (checkExpired()) { + showExpired(); + } else { + ApkUtils.openApp(mContext, "com.uiui.appstore"); + } } }); refreshMemory(); } + private void showExpired() { + SingleDialog dialog = new SingleDialog(mContext); + dialog.setTitle("温馨提示") + .setMessage("体验时间已到期,请激活") + .setPositive("确定") +// .setNegtive("拒绝") +// .setSingle(true) + .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() { + @Override + public void onPositiveClick() { + ApkUtils.openApp(mContext, "com.uiui.sn"); + dialog.dismiss(); + } + }); + dialog.show(); + } + + public interface Activation { + void ActivationCallback(); + } + + private boolean checkExpired() { + int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); + int code_type = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_CODE_TYPE_KEY, -1); + long expire_time = Settings.Global.getLong(mContext.getContentResolver(), CommonConfig.UIUI_EXPIRE_TIME_KEY, -1); + if (is_activation == 0) { + return true; + } else if (is_activation == 1) { + if (code_type == 0) { + if (expire_time > 0) { + long time = System.currentTimeMillis() / 1000; + return time > expire_time; + } else { + return true; + } + } else if (code_type == 1) { + return false; + } else { + return true; + } + } else { + return true; + } + } + private void checkSosNumber() { NetInterfaceManager.getInstance().getContactList(new NetInterfaceManager.ContactCallback() { @Override @@ -553,38 +622,49 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom } private void checkContact() { - NetInterfaceManager.getInstance().getContactList(new NetInterfaceManager.ContactCallback() { - @Override - public void setContact(List contactList) { -// if (contactList == null || contactList.size() == 0) { -// showNoData("温馨提示", "请在小程序上设置通讯录"); -// } else { -// startActivity(new Intent(mContext, ContactActivity.class)); -// } - } - - @Override - public void setEmergencyContact(List emergencyContact) { - - } - - @Override - public void setEmpty() { -// showNoData("温馨提示", "请在小程序上设置通讯录"); - } - - @Override - public void onComplete() { - startActivity(new Intent(mContext, ContactActivity.class)); - } - }); +// NetInterfaceManager.getInstance().getContactList(new NetInterfaceManager.ContactCallback() { +// @Override +// public void setContact(List contactList) { +//// if (contactList == null || contactList.size() == 0) { +//// showNoData("温馨提示", "请在小程序上设置通讯录"); +//// } else { +//// startActivity(new Intent(mContext, ContactActivity.class)); +//// } +// } +// +// @Override +// public void setEmergencyContact(List emergencyContact) { +// +// } +// +// @Override +// public void setEmpty() { +//// showNoData("温馨提示", "请在小程序上设置通讯录"); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); + startActivity(new Intent(mContext, ContactActivity.class)); } private void initData() { mCustomPresenter.getSnIsActivation(); - initAmap(); -// getAlarmClock(); + } + + @Override + public void setNetSnIsActivation(boolean activation) { + if (activation) { + cl_weather.setVisibility(View.VISIBLE); + cl_activation.setVisibility(View.GONE); + } else { + cl_weather.setVisibility(View.GONE); + cl_activation.setVisibility(View.VISIBLE); + } + mCustomPresenter.getSnInfo(); } @Override @@ -596,7 +676,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom cl_weather.setVisibility(View.GONE); cl_activation.setVisibility(View.VISIBLE); } - mCustomPresenter.getSnInfo(); } @Override @@ -625,14 +704,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom @Override public void setAlarmClock(List clockDataList) { - if (clockDataList != null && clockDataList.size() != 0) { - notificationAdapter.setDataList(clockDataList); - rv_noti.setVisibility(View.VISIBLE); - iv_note_nodata.setVisibility(View.GONE); - } else { - rv_noti.setVisibility(View.GONE); - iv_note_nodata.setVisibility(View.VISIBLE); - } + } @Override @@ -648,8 +720,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom @Override public void onResume() { super.onResume(); -// setAlarm(); - getAlarmClock(); setSosNumber(); setQuickApp(); mCustomPresenter.getSnIsActivation(); @@ -686,7 +756,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom .setPositive("确定") // .setNegtive("拒绝") // .setSingle(true) - .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() { @Override public void onPositiveClick() { @@ -735,18 +804,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom } } - private void setAlarm() { - if (rootView == null) return; - if (alarmItemList == null) { -// tv_add.setVisibility(View.VISIBLE); -// rv_clock.setVisibility(View.GONE); - } else { -// tv_add.setVisibility(View.GONE); -// rv_clock.setVisibility(View.VISIBLE); -// alarmClockAdapter.setAlarmItemList(alarmItemList); - } - } - private void initAmap() { LocationClient locationClient = AmapManager.getInstance().getLocationClient(); locationClient.stop(); @@ -782,7 +839,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom @Override public void setAlarmClockEmpty() { showNoData("温馨提示", "请在小程序上设置爱心闹钟"); - rv_noti.setVisibility(View.GONE); +// rv_noti.setVisibility(View.GONE); iv_note_nodata.setVisibility(View.VISIBLE); } @@ -793,10 +850,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom }); } - private void getAlarmClock() { - - } - private void showNoData(String title, String msg) { SingleDialog dialog = new SingleDialog(mContext); dialog.setTitle(title) diff --git a/app/src/main/java/com/uiui/aios/fragment/custom/CustomPresenter.java b/app/src/main/java/com/uiui/aios/fragment/custom/CustomPresenter.java index 78fb312..7567ff6 100644 --- a/app/src/main/java/com/uiui/aios/fragment/custom/CustomPresenter.java +++ b/app/src/main/java/com/uiui/aios/fragment/custom/CustomPresenter.java @@ -11,7 +11,7 @@ import com.uiui.aios.alarm.AlarmUtils; import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.SnInfo; -import com.uiui.aios.bean.UserAvatarInfo; +import com.uiui.aios.config.CommonConfig; import com.uiui.aios.network.NetInterfaceManager; import com.uiui.aios.utils.GsonUtils; @@ -52,111 +52,87 @@ public class CustomPresenter implements CustomContact.Presenter { this.mView = null; } + @Override + public void getNetSnIsActivation() { +// NetInterfaceManager.getInstance() +// .getSnIsActivationObservable() +// .compose(RxLifecycle.bindUntilEvent(lifecycle, FragmentEvent.DESTROY)) +// .subscribe(new Observer() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Log.e("getSnIsActivation", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse baseResponse) { +// Log.e("getSnIsActivation", "onNext: " + baseResponse); +// if (baseResponse.code == 200) { +// JsonObject jsonObject = GsonUtils.getJsonObject(baseResponse.data.toString()); +// int is_activation = jsonObject.get("is_activation").getAsInt(); +// Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, is_activation); +// mView.setNetSnIsActivation(is_activation == 1); +// } else { +// mView.setNetSnIsActivation(false); +// } +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Log.e("getSnIsActivation", "onError: " + e.getMessage()); +// int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); +// mView.setNetSnIsActivation(is_activation == 1); +// onComplete(); +// } +// +// @Override +// public void onComplete() { +// Log.e("getSnIsActivation", "onComplete: "); +// } +// }); + } + @Override public void getSnIsActivation() { - NetInterfaceManager.getInstance() - .getSnIsActivationObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, FragmentEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e("getSnIsActivation", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse baseResponse) { - Log.e("getSnIsActivation", "onNext: " + baseResponse); - if (baseResponse.code == 200) { - JsonObject jsonObject = GsonUtils.getJsonObject(baseResponse.data.toString()); - int is_activation = jsonObject.get("is_activation").getAsInt(); - Settings.Global.putInt(mContext.getContentResolver(), "uiui_activation", is_activation); - mView.setSnIsActivation(is_activation == 1); -// mView.setSnIsActivation(false); - } else { - mView.setSnIsActivation(false); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e("getSnIsActivation", "onError: " + e.getMessage()); - int is_activation = Settings.Global.getInt(mContext.getContentResolver(), "uiui_activation", 0); - mView.setSnIsActivation(is_activation == 1); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("getSnIsActivation", "onComplete: "); - } - }); + int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); + mView.setSnIsActivation(is_activation == 1); } @Override public void getSnInfo() { - NetInterfaceManager.getInstance().getSnInfo(getLifecycle(), new NetInterfaceManager.SnInfoCallback() { - @Override - public void setSnInfo(SnInfo snInfo) { - mView.setSnInfo(snInfo); - } - }); + mView.setSnInfo(null); } @Override public void getUserAvatarInfo() { - NetInterfaceManager.getInstance() - .getUserAvatarInfoControl() - .compose(RxLifecycle.bindUntilEvent(getLifecycle(), FragmentEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e("getUserAvatarInfoControl", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse userAvatarInfoBaseResponse) { - Log.e("getUserAvatarInfoControl", "onNext: " + userAvatarInfoBaseResponse); - mView.setUserAvatarInfo(userAvatarInfoBaseResponse.data); - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e("getUserAvatarInfoControl", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("getUserAvatarInfoControl", "onComplete: "); - } - }); + mView.setUserAvatarInfo(null); } @Override public void getAlarmClock() { - NetInterfaceManager.getInstance().getAlarmClockFragment(lifecycle, new NetInterfaceManager.AlarmClockCallback() { - @Override - public void setAlarmClock(List alarmClockList) { - AlarmClockData alarmClockData = AlarmUtils.getInstance().getRecentAlarmClock(); - if (alarmClockData != null) { - List data = new ArrayList<>(); - data.add(alarmClockData); - mView.setAlarmClock(data); - } else { - mView.setAlarmClock(null); - } - } - - @Override - public void setAlarmClockEmpty() { - mView.setAlarmClock(null); - } - - @Override - public void onError() { - - } - }); +// NetInterfaceManager.getInstance().getAlarmClockFragment(lifecycle, new NetInterfaceManager.AlarmClockCallback() { +// @Override +// public void setAlarmClock(List alarmClockList) { +// AlarmClockData alarmClockData = AlarmUtils.getInstance().getRecentAlarmClock(); +// if (alarmClockData != null) { +// List data = new ArrayList<>(); +// data.add(alarmClockData); +// mView.setAlarmClock(data); +// } else { +// mView.setAlarmClock(null); +// } +// } +// +// @Override +// public void setAlarmClockEmpty() { +// mView.setAlarmClock(null); +// } +// +// @Override +// public void onError() { +// +// } +// }); + mView.setAlarmClock(null); } } diff --git a/app/src/main/java/com/uiui/aios/manager/AmapManager.java b/app/src/main/java/com/uiui/aios/manager/AmapManager.java index 5115f0a..fda6704 100644 --- a/app/src/main/java/com/uiui/aios/manager/AmapManager.java +++ b/app/src/main/java/com/uiui/aios/manager/AmapManager.java @@ -126,7 +126,7 @@ public class AmapManager { mOption.setIsNeedLocationDescribe(true); // 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation mOption.setIsNeedLocationPoiList(true); // 可选,默认false,设置是否需要POI结果,可以在BDLocation mOption.SetIgnoreCacheException(false); // 可选,默认false,设置是否收集CRASH信息,默认收集 - mOption.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); // 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备,模糊 + mOption.setLocationMode(LocationClientOption.LocationMode.Battery_Saving); // 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备,模糊 mOption.setIsNeedAltitude(false); // 可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用 // 可选,设置首次定位时选择定位速度优先还是定位准确性优先,默认为速度优先 // mOption.setFirstLocType(LocationClientOption.FirstLocType.SPEED_IN_FIRST_LOC); diff --git a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java index 906207d..c44a540 100644 --- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java @@ -930,7 +930,6 @@ public class NetInterfaceManager { } else { if (callback != null) callback.setContact(setting_sos); } - if (callback != null) callback.onComplete(); } onComplete(); } @@ -1095,5 +1094,75 @@ public class NetInterfaceManager { }; } + public void getUserAvatarInfo(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { + ConnectMode connectMode = ConnectMode.ONE_MINUTE; + if (refresh) { + connectMode = ConnectMode.DEFAULT; + } + if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_ADMIN_SN_SETTING, connectMode)) { + getUserAvatarInfo(lifecycle, callback); + } else { + String jsonString = mCacheHelper.getAsString(URLAddress.GET_ADMIN_SN_SETTING); + //为 "" 是已经请求成功的 + if (jsonString == null) { + getUserAvatarInfo(lifecycle, callback); + } else { + Gson gson = new Gson(); + Type type = new TypeToken() { + }.getType(); + UserAvatarInfo userAvatarInfo = gson.fromJson(jsonString, type); + if (callback != null) { + callback.onComplete(); + } + } + } + } + public void getUserAvatarInfo(BehaviorSubject lifecycle, onCompleteCallback callback) { + NetInterfaceManager.getInstance() + .getUserAvatarInfoControl() + .compose(RxLifecycle.bindUntilEvent(lifecycle, FragmentEvent.DESTROY)) + .subscribe(getUserAvatarInfoObserver(callback)); + } + + public void getUserAvatarInfo(onCompleteCallback callback) { + NetInterfaceManager.getInstance() + .getUserAvatarInfoControl() + .subscribe(getUserAvatarInfoObserver(callback)); + } + + public void getUserAvatarInfo() { + NetInterfaceManager.getInstance() + .getUserAvatarInfoControl() + .subscribe(getUserAvatarInfoObserver(null)); + } + + public Observer> getUserAvatarInfoObserver(onCompleteCallback callback) { + return new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getUserAvatarInfoControl", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse userAvatarInfoBaseResponse) { + Log.e("getUserAvatarInfoControl", "onNext: " + userAvatarInfoBaseResponse); + + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getUserAvatarInfoControl", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("getUserAvatarInfoControl", "onComplete: "); + if (callback != null) { + callback.onComplete(); + } + } + }; + } } diff --git a/app/src/main/java/com/uiui/aios/network/URLAddress.java b/app/src/main/java/com/uiui/aios/network/URLAddress.java index f801e58..d5d655c 100644 --- a/app/src/main/java/com/uiui/aios/network/URLAddress.java +++ b/app/src/main/java/com/uiui/aios/network/URLAddress.java @@ -49,7 +49,5 @@ public class URLAddress { public static final String APP_ICON_UPDATE = "Control/appIconUpdate"; - public static final String GET_USER_ID = "getUserId"; - } diff --git a/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java b/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java index 892a0e0..7ed83ed 100644 --- a/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java +++ b/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java @@ -6,7 +6,9 @@ import android.content.Intent; import android.text.TextUtils; import android.util.Log; +import com.uiui.aios.network.NetInterfaceManager; import com.uiui.aios.service.main.MainService; +import com.uiui.aios.tpush.MessageReceiver; import java.util.concurrent.TimeUnit; @@ -68,7 +70,9 @@ public class BootReceiver extends BroadcastReceiver { default: break; case BOOT_COMPLETED: - MainService.mPresenter.getAlarmClock(); + NetInterfaceManager.getInstance().getAlarmClock(); + Intent alarmIntent = new Intent(MessageReceiver.SET_ALARMCLOCK); + context.sendBroadcast(alarmIntent); case Intent.ACTION_BOOT_COMPLETED: break; diff --git a/app/src/main/java/com/uiui/aios/service/main/MainService.java b/app/src/main/java/com/uiui/aios/service/main/MainService.java index 61612af..55045fe 100644 --- a/app/src/main/java/com/uiui/aios/service/main/MainService.java +++ b/app/src/main/java/com/uiui/aios/service/main/MainService.java @@ -64,7 +64,7 @@ public class MainService extends BaseService implements MainSContact.MainSView, @Override public void onConnected(NetworkUtils.NetworkType networkType) { - + mPresenter.getAlarmClock(); } @Override diff --git a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java index c19c3ea..cfd243e 100644 --- a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java +++ b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java @@ -244,11 +244,6 @@ public class ApkUtils { return desktopIcons; } - public static boolean appIsDisable(Context context, String pkg) { - PackageManager pm = context.getPackageManager(); - return pm.getApplicationEnabledSetting(pkg) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED; - } - public static boolean isSystemApp(Context context, String pkg) { PackageManager pm = context.getPackageManager(); ApplicationInfo applicationInfo = null; @@ -261,6 +256,11 @@ public class ApkUtils { return (applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0; } + public static boolean appIsDisable(Context context, String pkg) { + PackageManager pm = context.getPackageManager(); + return pm.getApplicationEnabledSetting(pkg) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED; + } + public static boolean disableApp(Context context, String pkg) { PackageManager pm = context.getPackageManager(); try { diff --git a/app/src/main/res/layout-land/fragment_custom.xml b/app/src/main/res/layout-land/fragment_custom.xml index 4cd7c18..3ba2f63 100644 --- a/app/src/main/res/layout-land/fragment_custom.xml +++ b/app/src/main/res/layout-land/fragment_custom.xml @@ -28,7 +28,6 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - @@ -435,7 +431,6 @@ android:textSize="@dimen/sp_11" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> - - - diff --git a/app/src/main/res/layout-port/fragment_custom.xml b/app/src/main/res/layout-port/fragment_custom.xml index 36b0b29..caa8f9a 100644 --- a/app/src/main/res/layout-port/fragment_custom.xml +++ b/app/src/main/res/layout-port/fragment_custom.xml @@ -524,7 +524,7 @@ android:layout_height="wrap_content" android:overScrollMode="never" android:visibility="gone" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toTopOf="@+id/textView4" app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.226" />