From fc5d807bb8a0efbb39b171ad260028df6c43dd4f Mon Sep 17 00:00:00 2001 From: Fanhuitong <981964879@qq.com> Date: Wed, 26 Jul 2023 11:56:26 +0800 Subject: [PATCH] =?UTF-8?q?version:1.5.1=20fix:=20update:=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=80=97=E7=94=B5=EF=BC=8C=E5=8F=96=E6=B6=88=E8=85=BE?= =?UTF-8?q?=E8=AE=AF=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 12 +- app/src/main/AndroidManifest.xml | 213 +++--------- .../uiui/zyos/activity/NoticeActivity.java | 1 - .../uiui/zyos/activity/main/MainActivity.java | 37 ++- .../com/uiui/zyos/adapter/AppAdapter.java | 8 + .../com/uiui/zyos/base/BaseApplication.java | 28 +- .../zyos/fragment/user/UserPresenter.java | 9 +- .../com/uiui/zyos/jxw/JxwPackageConfig.java | 2 +- .../com/uiui/zyos/manager/AppManager.java | 1 + .../com/uiui/zyos/manager/RemoteManager.java | 21 -- .../com/uiui/zyos/push/tpush/Constants.java | 17 - .../uiui/zyos/push/tpush/MessageReceiver.java | 305 ------------------ .../zyos/push/tpush/common/DBOpenHelper.java | 23 -- .../tpush/common/NotificationService.java | 135 -------- .../zyos/push/tpush/po/XGNotification.java | 83 ----- .../com/uiui/zyos/receiver/BootReceiver.java | 23 +- .../uiui/zyos/service/main/MainService.java | 11 +- .../main/res/drawable-hdpi/icon_update.png | Bin 0 -> 4584 bytes app/src/main/res/drawable-hdpi/jxw_update.png | Bin 0 -> 8263 bytes .../main/res/layout-land/dialog_chinese.xml | 2 +- .../{layout-land => layout}/activity_main.xml | 31 ++ build.gradle | 1 - 22 files changed, 131 insertions(+), 832 deletions(-) delete mode 100644 app/src/main/java/com/uiui/zyos/push/tpush/Constants.java delete mode 100644 app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java delete mode 100644 app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java delete mode 100644 app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java delete mode 100644 app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java create mode 100644 app/src/main/res/drawable-hdpi/icon_update.png create mode 100644 app/src/main/res/drawable-hdpi/jxw_update.png rename app/src/main/res/{layout-land => layout}/activity_main.xml (91%) diff --git a/app/build.gradle b/app/build.gradle index 85e80b6..67771c1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.application' -apply plugin: "com.tencent.android.tpns" def appName() { return "CubeZYLauncher" @@ -17,8 +16,8 @@ android { minSdkVersion 24 targetSdkVersion 29 - versionCode 35 - versionName "1.4.3" + versionCode 43 + versionName "1.5.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -27,11 +26,6 @@ android { abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a' // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' } - - manifestPlaceholders = [ - XG_ACCESS_ID : "1500030457", - XG_ACCESS_KEY: "AZZXANJF4HBD", - ] } lintOptions { @@ -195,8 +189,6 @@ dependencies { annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3' //MMKV implementation 'com.tencent:mmkv-static:1.2.14' - //腾讯移动推送 TPNS - implementation 'com.tencent.tpns:tpns:1.3.7.0-release' //阿里云推送 implementation 'com.aliyun.ams:alicloud-android-push:3.8.0' //状态栏透明 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 59db435..1d1a27a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ - + @@ -17,35 +17,28 @@ - - - - - - - - - - - - - - + + + - - + + + + - - + + - + + - + + @@ -131,11 +124,6 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + android:value="333816243" /> + diff --git a/app/src/main/java/com/uiui/zyos/activity/NoticeActivity.java b/app/src/main/java/com/uiui/zyos/activity/NoticeActivity.java index d608040..21b2b5d 100644 --- a/app/src/main/java/com/uiui/zyos/activity/NoticeActivity.java +++ b/app/src/main/java/com/uiui/zyos/activity/NoticeActivity.java @@ -96,7 +96,6 @@ public class NoticeActivity extends AppCompatActivity { Log.e(TAG, "onCreate: " + alarmClockData); showData(alarmClockData); } - } private void showData(AlarmClockData alarmClockData) { diff --git a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java index 765f9a1..8ddded0 100644 --- a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java @@ -43,9 +43,7 @@ import com.uiui.zyos.fragment.subject.SubjectFragment; import com.uiui.zyos.fragment.user.UserFragment; import com.uiui.zyos.jxw.JxwPackageConfig; import com.uiui.zyos.manager.RemoteManager; -import com.uiui.zyos.service.NotificationService; import com.uiui.zyos.utils.ApkUtils; -import com.uiui.zyos.utils.HomeWatcher; import com.uiui.zyos.utils.OpenApkUtils; import com.uiui.zyos.utils.ToastUtil; import com.uiui.zyos.utils.Utils; @@ -86,6 +84,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, ConstraintLayout cl_6; @BindView(R.id.cl_7) ConstraintLayout cl_7; + @BindView(R.id.cl_8) + ConstraintLayout cl_8; @BindView(R.id.iv_robot) ImageView iv_robot; @@ -145,9 +145,13 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, mFragmentManager = getSupportFragmentManager(); mFragments = new ArrayList<>(); mUserFragment = new UserFragment(); + if (!mUserFragment.isAdded()) { + mFragments.add(mUserFragment); + } mSubjectFragment = new SubjectFragment(); - mFragments.add(mUserFragment); - mFragments.add(mSubjectFragment); + if (!mSubjectFragment.isAdded()) { + mFragments.add(mSubjectFragment); + } mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments); mViewPager.setAdapter(mBaseFragmentPagerAdapter); @@ -272,6 +276,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_DICTIONARY_PACKAGE_NAME, JxwPackageConfig.JXW_DICTIONARY_CLASS_NAME); } }); + cl_8.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_LAUNCHER_PACKAGE_NAME, JxwPackageConfig.JXW_LAUNCHER_UPDATE_CLASS_NAME); + } + }); } @Override @@ -290,16 +300,15 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, } } - public static void toggleNotificationListenerService(Context context) { - Log.e(TAG, "toggleNotificationListenerService"); - PackageManager pm = context.getPackageManager(); - pm.setComponentEnabledSetting(new ComponentName(context, NotificationService.class), - PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); - - pm.setComponentEnabledSetting(new ComponentName(context, NotificationService.class), - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); - } - +// public static void toggleNotificationListenerService(Context context) { +// Log.e(TAG, "toggleNotificationListenerService"); +// PackageManager pm = context.getPackageManager(); +// pm.setComponentEnabledSetting(new ComponentName(context, NotificationService.class), +// PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); +// +// pm.setComponentEnabledSetting(new ComponentName(context, NotificationService.class), +// PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); +// } @Override public void onWindowFocusChanged(boolean hasFocus) { diff --git a/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java b/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java index 861c6d2..0dd5512 100644 --- a/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java +++ b/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java @@ -1,5 +1,6 @@ package com.uiui.zyos.adapter; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; @@ -65,6 +66,8 @@ public class AppAdapter extends RecyclerView.Adapter { } else { if (AppManager.ADD_NAME.equals(pkg)) { holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); + } else if (AppManager.UPDATE_NAME.equals(pkg)) { + holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); } else { holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); } @@ -74,6 +77,11 @@ public class AppAdapter extends RecyclerView.Adapter { public void onClick(View view) { if (AppManager.ADD_NAME.equals(pkg)) { mContext.startActivity(new Intent(mContext, PasswordActivity.class)); + } else if (AppManager.UPDATE_NAME.equals(pkg)) { + Intent intent = new Intent(); + ComponentName componentName = new ComponentName("com.uiui.zy", "com.uiui.zy.activity.update.UpdateActivity"); + intent.setComponent(componentName); + mContext.startActivity(intent); } else { int setting_other_appInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1); if (setting_other_appInstaller == 0 diff --git a/app/src/main/java/com/uiui/zyos/base/BaseApplication.java b/app/src/main/java/com/uiui/zyos/base/BaseApplication.java index 46a431b..e9173c7 100644 --- a/app/src/main/java/com/uiui/zyos/base/BaseApplication.java +++ b/app/src/main/java/com/uiui/zyos/base/BaseApplication.java @@ -11,9 +11,6 @@ import com.alibaba.sdk.android.push.CloudPushService; import com.alibaba.sdk.android.push.CommonCallback; import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.arialyy.aria.core.Aria; -import com.tencent.android.tpush.XGIOperateCallback; -import com.tencent.android.tpush.XGPushConfig; -import com.tencent.android.tpush.XGPushManager; import com.tencent.mmkv.MMKV; import com.uiui.zyos.BuildConfig; import com.uiui.zyos.alarm.AlarmUtils; @@ -23,14 +20,9 @@ import com.uiui.zyos.manager.RemoteManager; import com.uiui.zyos.network.NetInterfaceManager; import com.uiui.zyos.push.PushManager; import com.uiui.zyos.receiver.APKinstallReceiver; -import com.uiui.zyos.service.main.MainService; import com.uiui.zyos.utils.AppUsedTimeUtils; import com.uiui.zyos.utils.OpenApkUtils; import com.uiui.zyos.utils.SystemUtils; -import com.uiui.zyos.utils.Utils; - -import java.util.ArrayList; -import java.util.List; public class BaseApplication extends Application { private static final String TAG = BaseApplication.class.getSimpleName(); @@ -39,7 +31,7 @@ public class BaseApplication extends Application { public void onCreate() { super.onCreate(); if (!BuildConfig.DEBUG) { - catchException(); +// catchException(); } init(); } @@ -55,14 +47,12 @@ public class BaseApplication extends Application { Aria.get(this).getDownloadConfig().setMaxTaskNum(1); Aria.get(this).getDownloadConfig().setConvertSpeed(true); PushManager.init(this); - tpushInit(); aliyunPushInit(); RemoteManager.init(this); RemoteManager.setListener(new RemoteManager.ConnectedListener() { @Override public void onConnected() { RemoteManager.getInstance().aliyunPushInit(); - RemoteManager.getInstance().tpushInit(); } }); AlarmUtils.init(this); @@ -90,22 +80,6 @@ public class BaseApplication extends Application { registerReceiver(apKinstallReceiver, filter); } - private void tpushInit() { - XGPushConfig.enableDebug(this, true); - XGPushManager.registerPush(this, new XGIOperateCallback() { - @Override - public void onSuccess(Object data, int flag) { - //token在设备卸载重装的时候有可能会变 - Log.e("TPush", "注册成功,设备token为:" + data); - } - - @Override - public void onFail(Object data, int errCode, String msg) { - Log.e("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg); - } - }); - } - public void aliyunPushInit() { PushServiceFactory.init(this); final CloudPushService pushService = PushServiceFactory.getCloudPushService(); diff --git a/app/src/main/java/com/uiui/zyos/fragment/user/UserPresenter.java b/app/src/main/java/com/uiui/zyos/fragment/user/UserPresenter.java index 0103343..070bae7 100644 --- a/app/src/main/java/com/uiui/zyos/fragment/user/UserPresenter.java +++ b/app/src/main/java/com/uiui/zyos/fragment/user/UserPresenter.java @@ -107,11 +107,18 @@ public class UserPresenter implements UserContact.Presenter { @Override public void getInstalledApp() { ArrayList desktopIcons = AppManager.getInstance().getFilterAppList(); + DesktopIcon updateDesktopIcon = new DesktopIcon(); + updateDesktopIcon.setLable("应用更新"); + updateDesktopIcon.setPackageName(AppManager.UPDATE_NAME); + updateDesktopIcon.setIcon(mContext.getDrawable(R.drawable.icon_update)); + desktopIcons.add(desktopIcons.size(), updateDesktopIcon); + DesktopIcon desktopIcon = new DesktopIcon(); desktopIcon.setLable("添加应用"); - desktopIcon.setPackageName("com.zyos.add"); + desktopIcon.setPackageName(AppManager.ADD_NAME); desktopIcon.setIcon(mContext.getDrawable(R.drawable.icon_add)); desktopIcons.add(desktopIcons.size(), desktopIcon); + mView.setInstalledApp(desktopIcons); } diff --git a/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java b/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java index 8575e93..86d9014 100644 --- a/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java +++ b/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java @@ -36,7 +36,7 @@ public class JxwPackageConfig { public static final String JXW_PINYIN_CLASS_NAME = "com.jxw.learnchinesepinyin.activity.MainActivity"; /*笔画名称*/ public static final String JXW_BIHUA_PACKAGE_NAME = "com.jxw.bihuamingcheng"; - public static final String JXW_BIHUA_CLASS_NAME = "com.jxw.online_study.activity.InterestingLanguageActivity"; + public static final String JXW_BIHUA_CLASS_NAME = "com.example.viewpageindicator.MainActivity"; /*偏旁部首*/ public static final String JXW_PIANPANG_PACKAGE_NAME = "com.example.pianpangbushou"; public static final String JXW_PIANPANG_CLASS_NAME = "com.example.viewpageindicator.MainActivity"; diff --git a/app/src/main/java/com/uiui/zyos/manager/AppManager.java b/app/src/main/java/com/uiui/zyos/manager/AppManager.java index 3162204..58d2f85 100644 --- a/app/src/main/java/com/uiui/zyos/manager/AppManager.java +++ b/app/src/main/java/com/uiui/zyos/manager/AppManager.java @@ -30,6 +30,7 @@ public class AppManager { private static final String TAG = AppManager.class.getSimpleName(); public static final String ADD_NAME = "com.zyos.add"; + public static final String UPDATE_NAME = "com.zyos.update"; private static final String SHOW_PACKAGE_KEY = "SHOW_PACKAGE_KEY"; @SuppressLint("StaticFieldLeak") diff --git a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java index fc1d390..9f33f8c 100644 --- a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java +++ b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java @@ -16,8 +16,6 @@ import com.alibaba.sdk.android.push.CommonCallback; import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import com.tencent.android.tpush.XGIOperateCallback; -import com.tencent.android.tpush.XGPushManager; import com.tencent.mmkv.MMKV; import com.uiui.zyos.BuildConfig; import com.uiui.zyos.bean.MapBean; @@ -170,29 +168,10 @@ public class RemoteManager { }); } - public void tpushInit() { - List accountInfoList = new ArrayList<>(); - accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), RemoteManager.getInstance().getSerial())); - XGPushManager.upsertAccounts(mContext, accountInfoList, new XGIOperateCallback() { - @Override - public void onSuccess(Object data, int flag) { - Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag); - } - - @Override - public void onFail(Object data, int errCode, String msg) { - Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg); - } - }); - } - /** * @return 获取sn */ public String getSerial() { -// if (BuildConfig.DEBUG) { -// return "1234567890ab"; -// } if (mGetInfoInterface != null) { try { return mGetInfoInterface.getSerial(); diff --git a/app/src/main/java/com/uiui/zyos/push/tpush/Constants.java b/app/src/main/java/com/uiui/zyos/push/tpush/Constants.java deleted file mode 100644 index 82b2a09..0000000 --- a/app/src/main/java/com/uiui/zyos/push/tpush/Constants.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.uiui.zyos.push.tpush; - -/** - * Created by chacewang on 2019/7/5. - */ - -public class Constants { - public static final int TEST_LOCAL_NOTIFICATION = 1; - public static final int TEST_NOTIFICATION = 2; - public static final int TEST_SET_TAG = 3; - public static final int TEST_DEL_TAG = 4; - public static final int TEST_SET_ACCOUNT = 5; - public static final int TEST_DEL_ACCOUNT = 6; - - public static final String LOCAL_NOTIFICATION_TITLE = "localtest"; - public static final String TEST_TAG_NAME = "DiagnosisTag"; -} diff --git a/app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java deleted file mode 100644 index 543b7a9..0000000 --- a/app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java +++ /dev/null @@ -1,305 +0,0 @@ -package com.uiui.zyos.push.tpush; - -import android.content.ContentResolver; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.text.TextUtils; -import android.util.Log; -import android.widget.Toast; - -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.tencent.android.tpush.NotificationAction; -import com.tencent.android.tpush.XGPushBaseReceiver; -import com.tencent.android.tpush.XGPushClickedResult; -import com.tencent.android.tpush.XGPushRegisterResult; -import com.tencent.android.tpush.XGPushShowedResult; -import com.tencent.android.tpush.XGPushTextMessage; -import com.uiui.zyos.push.PushManager; -import com.uiui.zyos.push.tpush.common.NotificationService; -import com.uiui.zyos.push.tpush.po.XGNotification; -import com.uiui.zyos.utils.ToastUtil; - -import java.text.SimpleDateFormat; -import java.util.Calendar; - -public class MessageReceiver extends XGPushBaseReceiver { - private static final String TAG = MessageReceiver.class.getSimpleName(); - - public static final String UPDATE_LISTVIEW_ACTION = "com.qq.xgdemo.activity.UPDATE_LISTVIEW"; - public static final String TEST_ACTION = "com.qq.xgdemo.activity.TEST_ACTION"; - public static final String LogTag = "xg.test"; - - - private Context mContext; - private ContentResolver mResolver; - private PackageManager mPackageManager; - - /** - * 消息透传处理 - * - * @param context - * @param message 解析自定义的 JSON - */ - @Override - public void onTextMessage(Context context, XGPushTextMessage message) { - this.mContext = context; - this.mResolver = context.getContentResolver(); - this.mPackageManager = context.getPackageManager(); - String text = "收到消息:" + message.toString(); - // 获取自定义key-value - String customContent = message.getCustomContent(); - if (customContent != null && customContent.length() != 0) { - JsonObject obj = JsonParser.parseString(customContent).getAsJsonObject(); - // key1为前台配置的key - if (!TextUtils.isEmpty(obj.get("key").getAsString())) { - String value = obj.get("key").getAsString(); - Log.d(LogTag, "get custom value:" + value); - } - // ... - } - // APP自主处理消息的过程... - Log.e(LogTag, text); - show(context, text); - processCustomMessage(context, message); - } - - /** - * 通知展示 - * - * @param context - * @param notifiShowedRlt 包含通知的内容 - */ - @Override - public void onNotificationShowedResult(Context context, XGPushShowedResult notifiShowedRlt) { - if (context == null || notifiShowedRlt == null) { - return; - } - XGNotification notific = new XGNotification(); - notific.setMsg_id(notifiShowedRlt.getMsgId()); - notific.setTitle(notifiShowedRlt.getTitle()); - notific.setContent(notifiShowedRlt.getContent()); - // notificationActionType==1为Activity,2为url,3为intent - notific.setNotificationActionType(notifiShowedRlt - .getNotificationActionType()); - // Activity,url,intent都可以通过getActivity()获得 - notific.setActivity(notifiShowedRlt.getActivity()); - notific.setUpdate_time(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") - .format(Calendar.getInstance().getTime())); - NotificationService.getInstance(context).save(notific); - - Intent testIntent = new Intent(TEST_ACTION); - if (notifiShowedRlt.getTitle().equals(Constants.LOCAL_NOTIFICATION_TITLE)) { - testIntent.putExtra("step", Constants.TEST_LOCAL_NOTIFICATION); - } else { - testIntent.putExtra("step", Constants.TEST_NOTIFICATION); - } - context.sendBroadcast(testIntent); - - Intent viewIntent = new Intent(UPDATE_LISTVIEW_ACTION); - context.sendBroadcast(viewIntent); - show(context, "您有1条新消息, " + "通知被展示 , " + notifiShowedRlt.toString()); - Log.d(LogTag, "您有1条新消息, " + "通知被展示 , " + notifiShowedRlt.toString() + ", PushChannel:" + notifiShowedRlt.getPushChannel()); - } - - /** - * 注册回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - */ - @Override - public void onRegisterResult(Context context, int errorCode, XGPushRegisterResult message) { - if (context == null || message == null) { - return; - } - String text = ""; - if (errorCode == XGPushBaseReceiver.SUCCESS) { - // 在这里拿token - String token = message.getToken(); - text = "注册成功1. token:" + token; - } else { - text = message + "注册失败,错误码:" + errorCode; - } - Log.d(LogTag, text); - show(context, text); - } - - /** - * 反注册回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - */ - @Override - public void onUnregisterResult(Context context, int errorCode) { - if (context == null) { - return; - } - String text = ""; - if (errorCode == XGPushBaseReceiver.SUCCESS) { - text = "反注册成功"; - } else { - text = "反注册失败" + errorCode; - } - Log.d(LogTag, text); - show(context, text); - - } - - /** - * 设置标签回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - * @param tagName 设置的 TAG - */ - @Override - public void onSetTagResult(Context context, int errorCode, String tagName) { - if (context == null) { - return; - } - String text = ""; - if (errorCode == XGPushBaseReceiver.SUCCESS) { - text = "\"" + tagName + "\"设置成功"; - } else { - text = "\"" + tagName + "\"设置失败,错误码:" + errorCode; - } - Log.d(LogTag, text); - show(context, text); - - Intent testIntent = new Intent(TEST_ACTION); - testIntent.putExtra("step", Constants.TEST_SET_TAG); - context.sendBroadcast(testIntent); - } - - /** - * 删除标签的回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - * @param tagName 设置的 TAG - */ - @Override - public void onDeleteTagResult(Context context, int errorCode, String tagName) { - if (context == null) { - return; - } - String text = ""; - if (errorCode == XGPushBaseReceiver.SUCCESS) { - text = "\"" + tagName + "\"删除成功"; - } else { - text = "\"" + tagName + "\"删除失败,错误码:" + errorCode; - } - Log.d(LogTag, text); - show(context, text); - - Intent testIntent = new Intent(TEST_ACTION); - testIntent.putExtra("step", Constants.TEST_DEL_TAG); - context.sendBroadcast(testIntent); - } - - /** - * 设置账号回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - * @param account 设置的账号 - */ - @Override - public void onSetAccountResult(Context context, int errorCode, String account) { - Intent testIntent = new Intent(TEST_ACTION); - testIntent.putExtra("step", Constants.TEST_SET_ACCOUNT); - context.sendBroadcast(testIntent); - } - - /** - * 删除账号回调 - * - * @param context - * @param errorCode 0 为成功,其它为错误码 - * @param account 设置的账号 - */ - @Override - public void onDeleteAccountResult(Context context, int errorCode, String account) { - Intent testIntent = new Intent(TEST_ACTION); - testIntent.putExtra("step", Constants.TEST_DEL_ACCOUNT); - context.sendBroadcast(testIntent); - } - - @Override - public void onSetAttributeResult(Context context, int i, String s) { - - } - - @Override - public void onDeleteAttributeResult(Context context, int i, String s) { - - } - - @Override - public void onQueryTagsResult(Context context, int errorCode, String data, String operateName) { - Log.i(LogTag, "action - onQueryTagsResult, errorCode:" + errorCode + ", operateName:" + operateName + ", data: " + data); - } - - /** - * 通知点击回调 actionType=1为该消息被清除,actionType=0为该消息被点击 - * - * @param context - * @param message 包含被点击通知的内容 - */ - @Override - public void onNotificationClickedResult(Context context, XGPushClickedResult message) { - if (context == null || message == null) { - return; - } - String text = ""; - if (message.getActionType() == NotificationAction.clicked.getType()) { - // 通知在通知栏被点击啦。。。。。 - // APP自己处理点击的相关动作 - // 这个动作可以在activity的onResume也能监听,请看第3点相关内容 - text = "通知被打开 :" + message; - } else if (message.getActionType() == NotificationAction.delete.getType()) { - // 通知被清除啦。。。。 - // APP自己处理通知被清除后的相关动作 - text = "通知被清除 :" + message; - } - Toast.makeText(context, "广播接收到通知被点击:" + message.toString(), - Toast.LENGTH_SHORT).show(); - // 获取自定义key-value - String customContent = message.getCustomContent(); - if (customContent != null && customContent.length() != 0) { - JsonObject obj = JsonParser.parseString(customContent).getAsJsonObject(); - // key1为前台配置的key - if (!TextUtils.isEmpty(obj.get("key").getAsString())) { - String value = obj.get("key").getAsString(); - Log.d(LogTag, "get custom value:" + value); - } - // ... - } - // APP自主处理的过程。。。 - Log.d(LogTag, text); - show(context, text); - } - - private void show(Context context, String text) { -// Toast.makeText(context, text, Toast.LENGTH_SHORT).show(); - } - - private void processCustomMessage(Context context, XGPushTextMessage message) { - if (context == null || message == null) { - return; - } - - String title = message.getTitle(); - String content = message.getContent(); - JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject(); - - String extras = ""; - if (extrasJson.get("extras") != null) { - extras = extrasJson.get("extras").toString(); - } - PushManager.getInstance().setPushContent(title, extras); - } -} diff --git a/app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java b/app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java deleted file mode 100644 index a5c0569..0000000 --- a/app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.uiui.zyos.push.tpush.common; - -import android.content.Context; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; - -public class DBOpenHelper extends SQLiteOpenHelper { - - public DBOpenHelper(Context context) { - super(context, "XGExample.db", null, 1); - } - - @Override - public void onCreate(SQLiteDatabase db) { - db.execSQL("CREATE TABLE notification (id integer primary key autoincrement,msg_id varchar(64),title varchar(128),activity varchar(256),notificationActionType varchar(512),content text,update_time varchar(16))"); - } - - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - - } - -} diff --git a/app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java b/app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java deleted file mode 100644 index e8adde5..0000000 --- a/app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.uiui.zyos.push.tpush.common; - -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; - - -import com.uiui.zyos.push.tpush.po.XGNotification; - -import java.util.ArrayList; -import java.util.List; - -public class NotificationService { - private DBOpenHelper dbOpenHelper; - private static NotificationService instance = null; - - public NotificationService(Context context) { - this.dbOpenHelper = new DBOpenHelper(context); - } - - public synchronized static NotificationService getInstance(Context ctx) { - if (null == instance) { - instance = new NotificationService(ctx); - } - return instance; - } - - public void save(XGNotification notification) { - SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); - ContentValues values = new ContentValues(); - values.put("msg_id", notification.getMsg_id()); - values.put("title", notification.getTitle()); - values.put("content", notification.getContent()); - values.put("activity", notification.getActivity()); - values.put("notificationActionType", notification.getNotificationActionType()); - values.put("update_time", notification.getUpdate_time()); - db.insert("notification", null, values); - } - - public void delete(Integer id) { - SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); - db.delete("notification", "id=?", new String[] { id.toString() }); - } - - public void deleteAll() { - SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); - db.delete("notification", "", null); - } - - public void update(XGNotification notification) { - SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); - ContentValues values = new ContentValues(); - values.put("msg_id", notification.getMsg_id()); - values.put("title", notification.getTitle()); - values.put("content", notification.getContent()); - values.put("activity", notification.getActivity()); - values.put("notificationActionType", notification.getNotificationActionType()); - values.put("update_time", notification.getUpdate_time()); - db.update("notification", values, "id=?", new String[] { notification - .getId().toString() }); - } - - public XGNotification find(Integer id) { - SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); - Cursor cursor = db - .query("notification", - new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" }, - "id=?", new String[] { id.toString() }, null, null, - null, "1"); - try { - if (cursor.moveToFirst()) { - return new XGNotification(cursor.getInt(cursor - .getColumnIndex("id")), cursor.getLong(cursor - .getColumnIndex("msg_id")), cursor.getString(cursor - .getColumnIndex("title")), cursor.getString(cursor - .getColumnIndex("content")), cursor.getString(cursor - .getColumnIndex("activity")), cursor.getInt(cursor - .getColumnIndex("notificationActionType")), cursor.getString(cursor - .getColumnIndex("update_time"))); - } - return null; - } finally { - cursor.close(); - } - } - - public List getScrollData(int currentPage, int lineSize, - String msg_id) { - String firstResult = String.valueOf((currentPage - 1) * lineSize); - SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); - Cursor cursor = null; - try { - if (msg_id == null || "".equals(msg_id)) { - cursor = db - .query("notification", - new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" }, - null, null, null, null, "update_time DESC", - firstResult + "," + lineSize); - } else { - cursor = db - .query("notification", - new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" }, - "msg_id like ?", new String[] { msg_id + "%" }, - null, null, "update_time DESC", firstResult - + "," + lineSize); - } - List notifications = new ArrayList(); - while (cursor.moveToNext()) { - notifications.add(new XGNotification(cursor.getInt(cursor - .getColumnIndex("id")), cursor.getLong(cursor - .getColumnIndex("msg_id")), cursor.getString(cursor - .getColumnIndex("title")), cursor.getString(cursor - .getColumnIndex("content")), cursor.getString(cursor - .getColumnIndex("activity")), cursor.getInt(cursor - .getColumnIndex("notificationActionType")), cursor.getString(cursor - .getColumnIndex("update_time")))); - } - return notifications; - } finally { - cursor.close(); - } - } - - public int getCount() { - SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); - Cursor cursor = db.rawQuery("select count(*) from notification", null); - try { - cursor.moveToFirst(); - return cursor.getInt(0); - } finally { - cursor.close(); - } - } -} diff --git a/app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java b/app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java deleted file mode 100644 index a5641d2..0000000 --- a/app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.uiui.zyos.push.tpush.po; - -public class XGNotification { - private Integer id; - private Long msg_id; - private String title; - private String content; - private String activity; - private int notificationActionType; - private String update_time; - - public XGNotification() { - - } - - public XGNotification(Integer id, Long msg_id, String title, - String content, String activity, int notificationActionType, String update_time) { - super(); - this.id = id; - this.msg_id = msg_id; - this.title = title; - this.content = content; - this.activity = activity; - this.notificationActionType = notificationActionType; - this.update_time = update_time; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Long getMsg_id() { - return msg_id; - } - - public void setMsg_id(Long msg_id) { - this.msg_id = msg_id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - public String getUpdate_time() { - return update_time; - } - - public void setUpdate_time(String update_time) { - this.update_time = update_time; - } - - public String getActivity() { - return activity; - } - - public void setActivity(String activity) { - this.activity = activity; - } - - public int getNotificationActionType() { - return notificationActionType; - } - - public void setNotificationActionType(int notificationActionType) { - this.notificationActionType = notificationActionType; - } -} diff --git a/app/src/main/java/com/uiui/zyos/receiver/BootReceiver.java b/app/src/main/java/com/uiui/zyos/receiver/BootReceiver.java index 79f3585..ca30e94 100644 --- a/app/src/main/java/com/uiui/zyos/receiver/BootReceiver.java +++ b/app/src/main/java/com/uiui/zyos/receiver/BootReceiver.java @@ -71,17 +71,18 @@ public class BootReceiver extends BroadcastReceiver { // context.sendBroadcast(alarmIntent); case Intent.ACTION_BOOT_COMPLETED: break; - case Intent.ACTION_BATTERY_CHANGED: - case Intent.ACTION_BATTERY_LOW: - case Intent.ACTION_BATTERY_OKAY: - case Intent.ACTION_POWER_CONNECTED: - case Intent.ACTION_POWER_DISCONNECTED: - case Intent.ACTION_DATE_CHANGED: - case Intent.ACTION_TIME_TICK: - case Intent.ACTION_USER_PRESENT: - case Intent.ACTION_SCREEN_OFF: - case Intent.ACTION_SCREEN_ON: - break; + // TODO: 2023/6/17 频繁唤醒耗电 +// case Intent.ACTION_BATTERY_CHANGED: +// case Intent.ACTION_BATTERY_LOW: +// case Intent.ACTION_BATTERY_OKAY: +// case Intent.ACTION_POWER_CONNECTED: +// case Intent.ACTION_POWER_DISCONNECTED: +// case Intent.ACTION_DATE_CHANGED: +// case Intent.ACTION_TIME_TICK: +// case Intent.ACTION_USER_PRESENT: +// case Intent.ACTION_SCREEN_OFF: +// case Intent.ACTION_SCREEN_ON: +// break; } } } diff --git a/app/src/main/java/com/uiui/zyos/service/main/MainService.java b/app/src/main/java/com/uiui/zyos/service/main/MainService.java index fa374ba..62b56df 100644 --- a/app/src/main/java/com/uiui/zyos/service/main/MainService.java +++ b/app/src/main/java/com/uiui/zyos/service/main/MainService.java @@ -25,7 +25,6 @@ import java.util.List; public class MainService extends BaseService implements MainSContact.MainSView, NetworkUtils.OnNetworkStatusChangedListener { private static final String TAG = MainService.class.getSimpleName(); - public MainSPresenter mPresenter; public MainService() { @@ -59,7 +58,7 @@ public class MainService extends BaseService implements MainSContact.MainSView, mPresenter.attachView(this); mPresenter.setLifecycle(lifecycleSubject); mPresenter.getCloudLessonSettings(); - registerAlarmReceiver(); +// registerAlarmReceiver(); NetworkUtils.registerNetworkStatusChangedListener(this); startJxwLauncher(); } @@ -90,9 +89,9 @@ public class MainService extends BaseService implements MainSContact.MainSView, } private void unregisterReceiver() { - if (alarmReceiver != null) { - unregisterReceiver(alarmReceiver); - } +// if (alarmReceiver != null) { +// unregisterReceiver(alarmReceiver); +// } } public static final String ALARMWAKEUP = "ALARM_WAKEUP"; @@ -158,7 +157,7 @@ public class MainService extends BaseService implements MainSContact.MainSView, @Override public void setCloudLessonSettings() { - mPresenter.getAlarmClock(); +// mPresenter.getAlarmClock(); } @Override diff --git a/app/src/main/res/drawable-hdpi/icon_update.png b/app/src/main/res/drawable-hdpi/icon_update.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d5e73936416df998964ac8ebc4738877ed0164 GIT binary patch literal 4584 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 + + + + + + + + diff --git a/build.gradle b/build.gradle index ce43d63..db01d22 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,6 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.6.4' - classpath "com.tencent.android.tpns:tpnsplugin:1.8.0" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files