From ea96ad37bd9f212dcf8c78cae7a924dd93865d28 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Fri, 14 Oct 2022 20:21:16 +0800 Subject: [PATCH] =?UTF-8?q?version:4.6=20fix:=20update:=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=B4=9F=E4=BA=8C=E5=B1=8F=E7=AD=89=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 9 +- .../uiui/aios/activity/EmergencyActivity.java | 14 +- .../activity/contact/ContactActivity.java | 6 + .../uiui/aios/activity/main/MainActivity.java | 35 +++- .../uiui/aios/activity/main/MainContact.java | 4 + .../aios/activity/main/MainPresenter.java | 23 ++- .../com/uiui/aios/adapter/ContactAdapter.java | 16 ++ .../com/uiui/aios/bean/EmergencyContact.java | 53 ----- .../com/uiui/aios/bean/SystemSettings.java | 6 +- .../uiui/aios/fragment/CustomFragment.java | 133 +++++++++---- .../com/uiui/aios/manager/AmapManager.java | 11 +- .../aios/network/NetInterfaceManager.java | 181 ++++++++++++++++-- .../com/uiui/aios/network/URLAddress.java | 3 + .../network/api/GetAdminSnSettingApi.java | 15 ++ .../uiui/aios/service/main/MainService.java | 2 +- .../java/com/uiui/aios/utils/ApkUtils.java | 9 + .../main/res/drawable-hdpi/appstore_icon.png | Bin 0 -> 4544 bytes app/src/main/res/drawable/join_background.xml | 2 +- .../main/res/layout-land/fragment_custom.xml | 74 +++++-- .../res/layout-land/fragment_custom_back.xml | 2 +- .../main/res/layout-port/fragment_custom.xml | 70 ++++++- app/src/main/res/layout/single_dialog.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- settings.gradle | 2 +- 24 files changed, 503 insertions(+), 171 deletions(-) delete mode 100644 app/src/main/java/com/uiui/aios/bean/EmergencyContact.java create mode 100644 app/src/main/java/com/uiui/aios/network/api/GetAdminSnSettingApi.java create mode 100644 app/src/main/res/drawable-hdpi/appstore_icon.png diff --git a/app/build.gradle b/app/build.gradle index e966190..e3f5935 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' apply plugin: "com.tencent.android.tpns" def appName() { - return "老人OS系统" + return "关怀系统OS" } def releaseTime() { @@ -16,8 +16,8 @@ android { applicationId "com.uiui.aios" minSdkVersion 24 targetSdkVersion 29 - versionCode 33 - versionName "4.2" + versionCode 37 + versionName "4.6" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -80,7 +80,6 @@ android { zhanRuiDebug.initWith(debug) zhanRuiDebug { - buildConfigField "boolean", "LOG_DEBUG", "true" versionNameSuffix "-debug" debuggable true @@ -129,8 +128,6 @@ android { } } } - - } dependencies { diff --git a/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java b/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java index 8589b44..e498a71 100644 --- a/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java @@ -28,6 +28,8 @@ import com.uiui.aios.utils.ToastUtil; import java.lang.reflect.Type; import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; +import java.util.stream.Collectors; import butterknife.BindView; import butterknife.ButterKnife; @@ -64,13 +66,13 @@ public class EmergencyActivity extends AppCompatActivity { sendBroadcast(bootIntent); Intent intent = getIntent(); -// String setting_sos = intent.getStringExtra("setting_sos"); -// if (TextUtils.isEmpty(setting_sos)) { +// String contactList = intent.getStringExtra("contactList"); +// if (TextUtils.isEmpty(contactList)) { // finish(); // return; // } - String jsonString = mCacheHelper.getAsString(URLAddress.GET_SETTINGS); + String jsonString = mCacheHelper.getAsString(URLAddress.GET_MAIL_LIST); //为 "" 是已经请求成功的 if (jsonString == null) { return; @@ -78,11 +80,11 @@ public class EmergencyActivity extends AppCompatActivity { Gson gson = new Gson(); Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); - if (setting_sos == null || setting_sos.size() == 0) { + List contactList = gson.fromJson(jsonString, type); + if (contactList == null || contactList.size() == 0) { return; } - phoneListSet = setting_sos; + phoneListSet = contactList.stream().filter(contact -> contact.getIs_urgent() == 1).collect(Collectors.toList()); Log.e(TAG, "onCreate: " + phoneListSet); final Long time = 3L; diff --git a/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java b/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java index 2b52863..5190a69 100644 --- a/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java @@ -66,6 +66,12 @@ public class ContactActivity extends BaseActivity implements ContactContact.Cont mContactPresenter.getContact(); } + @Override + protected void onDestroy() { + super.onDestroy(); + mContactPresenter.detachView(); + } + @Override public void setContact(List contactList) { if (contactList != null) { 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 aff5209..1708f0a 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 @@ -74,6 +74,9 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { private List mFragments; private CustomFragment mCustomFragment; private SecondFragment mSecondFragment; + private boolean is_twoscreen = false; + private int appListIndex = 1; + private int defaultCurrent = 0; @Override public int getLayoutId() { @@ -99,14 +102,20 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments); // fragmentTransaction.add(R.id.viewPager, appListFragment); // fragmentTransaction.commit(); - mSecondFragment = new SecondFragment(); - mFragments.add(mSecondFragment); + + is_twoscreen = Settings.Global.getInt(getContentResolver(), "is_twoscreen", 0) == 1; + if (is_twoscreen) { + appListIndex = 2; + defaultCurrent = 1; + mSecondFragment = new SecondFragment(); + mFragments.add(mSecondFragment); + } mCustomFragment = new CustomFragment(); mFragments.add(mCustomFragment); mMainPresenter.getSystemSettings(); - ArrayList desktopIcons = ApkUtils.queryFilterAppInfo(this); + ArrayList desktopIcons = ApkUtils.queryFilterAppInfo(this); int x = 0; for (int i = 0; i <= desktopIcons.size(); i++) { if (i != 0 && i % APP_LIST_SIZE == 0) { @@ -133,11 +142,11 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { }); mViewPager.setAdapter(mBaseFragmentPagerAdapter); - mViewPager.setOffscreenPageLimit(3); + mViewPager.setOffscreenPageLimit(2); mMagicIndicator.setNavigator(scaleCircleNavigator); ViewPagerHelper.bind(mMagicIndicator, mViewPager); if (mFragments.size() > 1) { - mViewPager.setCurrentItem(1); + mViewPager.setCurrentItem(defaultCurrent); } } @@ -230,8 +239,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { } //从第三个开始改 for (int i = 0; i < fragmentList.size(); i++) { - if (i + 2 < mFragments.size()) { - mBaseFragmentPagerAdapter.replaceFragment(i + 2, fragmentList.get(i)); + if (i + appListIndex < mFragments.size()) { + mBaseFragmentPagerAdapter.replaceFragment(i + appListIndex, fragmentList.get(i)); // mFragments.remove(i + 2); // mFragments.add(i + 2, fragmentList.get(i)); } else { @@ -240,7 +249,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { mBaseFragmentPagerAdapter.addFragment(fragmentList.get(i)); } } - for (int i = mFragments.size(); i > fragmentList.size() + 2; i--) { + for (int i = mFragments.size(); i > fragmentList.size() + appListIndex; i--) { mFragments.remove(i - 1); } scaleCircleNavigator.setCircleCount(mFragments.size()); @@ -249,7 +258,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { } - @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { @@ -270,7 +278,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { default: break; case Intent.ACTION_MAIN: - mViewPager.setCurrentItem(1); + mViewPager.setCurrentItem(defaultCurrent); break; } } @@ -291,12 +299,14 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { @Override protected void onResume() { super.onResume(); + Log.e(TAG, "onResume: "); if (!isNotificationListenersEnabled()) { ToastUtil.show("请授予\"" + getString(R.string.app_name) + "\"使用通知权"); gotoNotificationAccessSetting(this); } addData(); mMainPresenter.sendRunningInfo(); + mMainPresenter.getAdminSnSetting(); } private static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners"; @@ -440,4 +450,9 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { public void sendRunningInfoFinish() { } + + @Override + public void setAdminSnSetting() { + + } } diff --git a/app/src/main/java/com/uiui/aios/activity/main/MainContact.java b/app/src/main/java/com/uiui/aios/activity/main/MainContact.java index 2c43b52..7de0405 100644 --- a/app/src/main/java/com/uiui/aios/activity/main/MainContact.java +++ b/app/src/main/java/com/uiui/aios/activity/main/MainContact.java @@ -15,6 +15,8 @@ public class MainContact { void sendAPPUsage(); /*上传后台运行的APP*/ void sendRunningInfo(); + /*获取负二屏开关*/ + void getAdminSnSetting(); } public interface MainView extends BaseView { @@ -23,5 +25,7 @@ public class MainContact { void updateDesktopLayoutFinish(); void sendAPPUsageFinish(); void sendRunningInfoFinish(); + void setAdminSnSetting(); + } } 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 f496626..b4fd44c 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 @@ -10,9 +10,8 @@ import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; import com.uiui.aios.BuildConfig; import com.uiui.aios.bean.BaseResponse; -import com.uiui.aios.bean.EmergencyContact; -import com.uiui.aios.bean.NetDesktopIcon; import com.uiui.aios.bean.Contact; +import com.uiui.aios.bean.NetDesktopIcon; import com.uiui.aios.network.NetInterfaceManager; import com.uiui.aios.utils.ApkUtils; import com.uiui.aios.utils.AppUsedTimeUtils; @@ -57,14 +56,18 @@ public class MainPresenter implements MainContact.Presenter { @Override public void getSystemSettings() { - NetInterfaceManager.getInstance().getSystemSettings(true, getLifecycle(), new NetInterfaceManager.SosNumberCallback() { - + NetInterfaceManager.getInstance().getSystemSettings(true, getLifecycle(), new NetInterfaceManager.ContactCallback() { @Override - public void setSosNumber(List setting_sos) { + public void setContact(List contactList) { Intent intent = new Intent("setting_sos"); mContext.sendBroadcast(intent); } + @Override + public void setEmergencyContact(List emergencyContact) { + + } + @Override public void setEmpty() { @@ -192,4 +195,14 @@ public class MainPresenter implements MainContact.Presenter { } }); } + + @Override + public void getAdminSnSetting() { + NetInterfaceManager.getInstance().getAdminSnSetting(true, lifecycle, new NetInterfaceManager.onCompleteCallback() { + @Override + public void onComplete() { + + } + }); + } } diff --git a/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java b/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java index 3274cac..b8d80dc 100644 --- a/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java +++ b/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java @@ -1,6 +1,9 @@ package com.uiui.aios.adapter; import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -37,6 +40,19 @@ public class ContactAdapter extends RecyclerView.Adapter setting_sos; + List setting_sos; String setting_volume; String setting_luminance; String setting_typeface; @@ -262,11 +262,11 @@ public class SystemSettings implements Serializable { this.setting_hotspot = setting_hotspot; } - public List getSetting_sos() { + public List getSetting_sos() { return setting_sos; } - public void setSetting_sos(List setting_sos) { + public void setSetting_sos(List setting_sos) { this.setting_sos = setting_sos; } diff --git a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java index 8df2b27..d9753f1 100644 --- a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java +++ b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java @@ -14,6 +14,7 @@ import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Bundle; import android.os.Handler; +import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; @@ -32,6 +33,7 @@ import com.amap.api.location.AMapLocationListener; import com.blankj.utilcode.util.NetworkUtils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import com.king.view.circleprogressview.CircleProgressView; import com.qweather.sdk.bean.base.Code; import com.qweather.sdk.bean.base.Lang; import com.qweather.sdk.bean.base.Unit; @@ -53,7 +55,6 @@ import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.AlarmItem; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.Contact; -import com.uiui.aios.bean.EmergencyContact; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.UserAvatarInfo; @@ -105,6 +106,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt ConstraintLayout cl_contact; @BindView(R.id.cl_ai) ConstraintLayout cl_ai; + @BindView(R.id.cl_appstore) + ConstraintLayout cl_appstore; // @BindView(R.id.cl_battery) // ConstraintLayout cl_battery; @@ -118,9 +121,9 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt ImageView iv_pic; @BindView(R.id.tv_temp) TextView tv_temp; - // @BindView(R.id.cpv) -// CircleProgressView cpv; -// @BindView(R.id.iv_charging) + @BindView(R.id.cpv) + CircleProgressView cpv; + // @BindView(R.id.iv_charging) // ImageView iv_charging; @BindView(R.id.rv_noti) RecyclerView rv_noti; @@ -134,14 +137,15 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt RecyclerView rv_sos; @BindView(R.id.iv_note_nodata) ImageView iv_note_nodata; - @BindView(R.id.iv_head) - ImageView iv_head; + // @BindView(R.id.iv_head) +// ImageView iv_head; @BindView(R.id.tv_name) TextView tv_name; private String TAG = CustomFragment.class.getSimpleName(); // private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5}; private int[] mShaderColors = new int[]{0xFF3984f6, 0xFF3984f6, 0xFF3984f6, 0xFF3984f6, 0xFF3984f6, 0xFF3984f6, 0xFF3984f6}; + private int[] mShaderColorsRed = new int[]{0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000}; private View rootView; private List alarmItemList; private NotificationAdapter notificationAdapter; @@ -339,14 +343,20 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt registerBatteryReceiver(); registerAlarmClockReceiver(); mContext.registerReceiver(mbatteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); - + if (Settings.Global.getInt(mCRv, "is_aihealth", 0) == 1) { + cl_appstore.setVisibility(View.GONE); + cl_ai.setVisibility(View.VISIBLE); + } else { + cl_appstore.setVisibility(View.VISIBLE); + cl_ai.setVisibility(View.GONE); + } // tv_battery.setText(Utils.getBatteryLevel(mContext) + "%"); -// cpv.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// killBackgroundApp(); -// } -// }); + cpv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + killBackgroundApp(); + } + }); // cl_alarm.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { @@ -397,20 +407,21 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt cl_shared_space.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - SingleDialog dialog = new SingleDialog(mContext); - dialog.setTitle("温馨提示") - .setMessage("此功能暂未上线") - .setPositive("确定") -// .setNegtive("拒绝") -// .setSingle(true) - - .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() { - @Override - public void onPositiveClick() { - dialog.dismiss(); - } - }); - dialog.show(); + 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(); } }); cl_health.setOnClickListener(new View.OnClickListener() { @@ -422,7 +433,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt cl_contact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - startActivity(new Intent(getActivity(), ContactActivity.class)); + checkContact(); } }); cl_ai.setOnClickListener(new View.OnClickListener() { @@ -431,22 +442,37 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt openScheme(SchemeUtils.SCHEME_HAND); } }); + cl_appstore.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + ApkUtils.openApp(mContext, "com.uiui.appstore"); + } + }); refreshMemory(); } private void checkSosNumber() { - NetInterfaceManager.getInstance().getSystemSettings(new NetInterfaceManager.SosNumberCallback() { + NetInterfaceManager.getInstance().getContactList(new NetInterfaceManager.ContactCallback() { @Override - public void setSosNumber(List setting_sos) { - Intent intent = new Intent(mContext, EmergencyActivity.class); + public void setContact(List contactList) { + + } + + @Override + public void setEmergencyContact(List emergencyContact) { + if (emergencyContact == null || emergencyContact.size() == 0) { + showNoData("温馨提示", "请在小程序上面设置紧急联系人"); + } else { + Intent intent = new Intent(mContext, EmergencyActivity.class); // intent.putExtra("setting_sos", phone); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - mContext.startActivity(intent); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(intent); + } } @Override public void setEmpty() { - showNoData("温馨提示", "没有设置紧急联系人"); + showNoData("温馨提示", "请在小程序上面设置紧急联系人"); } @Override @@ -454,7 +480,34 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt } }); + } + 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(getActivity(), ContactActivity.class)); + } + } + + @Override + public void setEmergencyContact(List emergencyContact) { + + } + + @Override + public void setEmpty() { + showNoData("温馨提示", "请在小程序上设置通讯录"); + } + + @Override + public void onComplete() { + + } + }); } private void initData() { @@ -618,7 +671,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt @Override public void setAlarmClockEmpty() { - showNoData("温馨提示", "当前没有数据"); + showNoData("温馨提示", "请在小程序上设置爱心闹钟"); rv_noti.setVisibility(View.GONE); iv_note_nodata.setVisibility(View.VISIBLE); } @@ -686,7 +739,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt @Override public void noData() { - showNoData("温馨提示", "当前没有数据"); + showNoData("温馨提示", "请在小程序上设置健康码"); } @Override @@ -796,8 +849,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt long avail = AppUtil.getAvailMemory(mContext); long total = AppUtil.getTotalMemory(mContext); int x = (int) (((total - avail) / (double) total) * 100); -// cpv.setProgressColor(mShaderColors); -// cpv.showAnimation(0, x, 1000); + if (x > 80) { + cpv.setProgressColor(mShaderColorsRed); + } else { + cpv.setProgressColor(mShaderColors); + } + cpv.showAnimation(0, x, 1000); float x2 = (((total - avail) / (float) total)); } 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 796613b..5e8cc74 100644 --- a/app/src/main/java/com/uiui/aios/manager/AmapManager.java +++ b/app/src/main/java/com/uiui/aios/manager/AmapManager.java @@ -76,8 +76,11 @@ public class AmapManager { if (aMapLocation.getErrorCode() == 0) { Log.e(TAG, "onLocationChanged: " + "定位成功"); Log.e(TAG, "onLocationChanged: " + aMapLocation.getAddress()); - mMMKV.encode(LONGITUDE_KEY, aMapLocation.getLongitude()); - mMMKV.encode(LATITUDE_KEY, aMapLocation.getLatitude()); + Log.e(TAG, "onLocationChanged: getLongitude = " + aMapLocation.getLongitude()); + mMMKV.encode(LONGITUDE_KEY, String.valueOf(aMapLocation.getLongitude())); + Log.e(TAG, "onLocationChanged: getLatitude = " + aMapLocation.getLatitude()); + mMMKV.encode(LATITUDE_KEY, String.valueOf(aMapLocation.getLatitude())); + Log.e(TAG, "onLocationChanged: getAddress = " + aMapLocation.getAddress()); mMMKV.encode(ADDRESS_KEY, aMapLocation.getAddress()); } else { //定位失败 @@ -114,8 +117,8 @@ public class AmapManager { if (aMapLocation.getErrorCode() == 0) { nowAMapLocation = aMapLocation; mMMKV.encode(AMAPLOCATION_JSON_KEY, aMapLocation.toStr()); - mMMKV.encode(LONGITUDE_KEY, aMapLocation.getLongitude()); - mMMKV.encode(LATITUDE_KEY, aMapLocation.getLatitude()); + mMMKV.encode(LONGITUDE_KEY, String.valueOf(aMapLocation.getLongitude())); + mMMKV.encode(LATITUDE_KEY, String.valueOf(aMapLocation.getLatitude())); mMMKV.encode(ADDRESS_KEY, aMapLocation.getAddress()); } else { mMMKV.encode(AMAPLOCATION_JSON_KEY, ""); 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 3f09e0c..717f73b 100644 --- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java @@ -17,7 +17,6 @@ import com.uiui.aios.bean.ArticleInfo; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.DemandBean; -import com.uiui.aios.bean.EmergencyContact; import com.uiui.aios.bean.GoodsInfo; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.NetDesktopIcon; @@ -33,6 +32,7 @@ import com.uiui.aios.network.api.AlarmClockApi; import com.uiui.aios.network.api.AppUsageRecordApi; import com.uiui.aios.network.api.ArticleListApi; import com.uiui.aios.network.api.DemandListApi; +import com.uiui.aios.network.api.GetAdminSnSettingApi; import com.uiui.aios.network.api.GetDesktopApi; import com.uiui.aios.network.api.GetMailList; import com.uiui.aios.network.api.GetUserIDApi; @@ -248,6 +248,14 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + public Observable getAdminSnSettingObservable() { + return mRetrofit.create(GetAdminSnSettingApi.class) + .getAdminSnSetting(Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + + public interface onCompleteCallback { void onComplete(); } @@ -796,15 +804,17 @@ public class NetInterfaceManager { }); } - public interface SosNumberCallback { - void setSosNumber(List setting_sos); + public interface ContactCallback { + void setContact(List contactList); + + void setEmergencyContact(List emergencyContact); void setEmpty(); void onComplete(); } - public void getSystemSettings(boolean refresh, BehaviorSubject lifecycle, SosNumberCallback callback) { + public void getSystemSettings(boolean refresh, BehaviorSubject lifecycle, ContactCallback callback) { ConnectMode connectMode = ConnectMode.ONE_MINUTE; if (refresh) { connectMode = ConnectMode.DEFAULT; @@ -818,26 +828,26 @@ public class NetInterfaceManager { getSystemSettings(lifecycle, callback); } else { Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { if (callback != null) callback.setEmpty(); } else { - if (callback != null) callback.setSosNumber(setting_sos); + if (callback != null) callback.setContact(setting_sos); } if (callback != null) callback.onComplete(); } } } - public void getSystemSettings(BehaviorSubject lifecycle, SosNumberCallback callback) { + public void getSystemSettings(BehaviorSubject lifecycle, ContactCallback callback) { getsettingControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(getSystemSettingsObserver(callback)); } - public void getSystemSettings(SosNumberCallback callback) { + public void getSystemSettings(ContactCallback callback) { getsettingControl() .subscribe(getSystemSettingsObserver(callback)); } @@ -847,7 +857,7 @@ public class NetInterfaceManager { .subscribe(getSystemSettingsObserver(null)); } - public Observer> getSystemSettingsObserver(SosNumberCallback callback) { + public Observer> getSystemSettingsObserver(ContactCallback callback) { return new Observer>() { @Override public void onSubscribe(@NonNull Disposable d) { @@ -862,14 +872,17 @@ public class NetInterfaceManager { mMMKV.encode("is_health", systemSettings.getIs_health()); mMMKV.encode("is_shopping", systemSettings.getIs_shopping()); mMMKV.encode("is_info", systemSettings.getIs_info()); - List setting_sos = systemSettings.getSetting_sos(); + List setting_sos = systemSettings.getSetting_sos(); if (setting_sos == null || setting_sos.size() == 0) { mCacheHelper.put(URLAddress.GET_SETTINGS, ""); if (callback != null) callback.setEmpty(); } else { - List contactList = setting_sos.stream().filter(contact -> contact.getIs_urgent() == 1).collect(Collectors.toList()); - mCacheHelper.put(URLAddress.GET_SETTINGS, GsonUtils.toJsonString(contactList)); - if (callback != null) callback.setSosNumber(setting_sos); + List emergencyContact = setting_sos.stream().filter(contact -> contact.getIs_urgent() == 1).collect(Collectors.toList()); + mCacheHelper.put(URLAddress.GET_SETTINGS, GsonUtils.toJsonString(setting_sos)); + if (callback != null) { + callback.setContact(setting_sos); + callback.setEmergencyContact(emergencyContact); + } } } else { mCacheHelper.put(URLAddress.GET_SETTINGS, ""); @@ -886,13 +899,13 @@ public class NetInterfaceManager { if (callback != null) callback.setEmpty(); } else { Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { if (callback != null) callback.setEmpty(); } else { - if (callback != null) callback.setSosNumber(setting_sos); + if (callback != null) callback.setContact(setting_sos); } if (callback != null) callback.onComplete(); } @@ -907,8 +920,52 @@ public class NetInterfaceManager { }; } + + public void getContactList(boolean refresh, BehaviorSubject lifecycle, ContactCallback callback) { + ConnectMode connectMode = ConnectMode.ONE_MINUTE; + if (refresh) { + connectMode = ConnectMode.DEFAULT; + } + if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_MAIL_LIST, connectMode)) { + getContactList(lifecycle, callback); + } else { + String jsonString = mCacheHelper.getAsString(URLAddress.GET_MAIL_LIST); + //为 "" 是已经请求成功的 + if (jsonString == null) { + getContactList(lifecycle, callback); + } else { + Gson gson = new Gson(); + Type type = new TypeToken>() { + }.getType(); + List setting_sos = gson.fromJson(jsonString, type); + if (setting_sos == null || setting_sos.size() == 0) { + if (callback != null) callback.setEmpty(); + } else { + if (callback != null) callback.setContact(setting_sos); + } + if (callback != null) callback.onComplete(); + } + } + } + + public void getContactList(BehaviorSubject lifecycle, ContactCallback callback) { + getContactListObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(getContactListObserver(callback)); + } + + public void getContactList(ContactCallback callback) { + getContactListObservable() + .subscribe(getContactListObserver(callback)); + } + public void getContactList() { - getContactListObservable().subscribe(new Observer>>() { + getContactListObservable() + .subscribe(getContactListObserver(null)); + } + + public Observer>> getContactListObserver(ContactCallback callback) { + return new Observer>>() { @Override public void onSubscribe(@NonNull Disposable d) { Log.e("getContactList", "onSubscribe: "); @@ -917,17 +974,103 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse> listBaseResponse) { Log.e("getContactList", "onNext: " + listBaseResponse); + if (listBaseResponse.code == 200) { + List contactList = listBaseResponse.data; + if (contactList == null || contactList.size() == 0) { + mCacheHelper.put(URLAddress.GET_MAIL_LIST, ""); + if (callback != null) callback.setEmpty(); + } else { + mCacheHelper.put(URLAddress.GET_MAIL_LIST, GsonUtils.toJsonString(contactList)); + List emergencyContact = contactList.stream().filter(contact -> contact.getIs_urgent() == 1).collect(Collectors.toList()); + if (callback != null) { + callback.setContact(contactList); + callback.setEmergencyContact(emergencyContact); + } + } + } else { + mCacheHelper.put(URLAddress.GET_MAIL_LIST, ""); + if (callback != null) callback.setEmpty(); + } } @Override public void onError(@NonNull Throwable e) { Log.e("getContactList", "onError: " + e.getMessage()); + onComplete(); } @Override public void onComplete() { Log.e("getContactList", "onComplete: "); + if (callback != null) callback.onComplete(); } - }); + + }; } + + public void getAdminSnSetting(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)) { + getAdminSnSetting(lifecycle, callback); + } else { + String jsonString = mCacheHelper.getAsString(URLAddress.GET_ADMIN_SN_SETTING); + //为 "" 是已经请求成功的 + if (jsonString == null) { + getAdminSnSetting(lifecycle, callback); + } else { + Gson gson = new Gson(); + Type type = new TypeToken>() { + }.getType(); + List setting_sos = gson.fromJson(jsonString, type); + + } + } + } + + public void getAdminSnSetting(BehaviorSubject lifecycle, onCompleteCallback callback) { + getAdminSnSettingObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(getAdminSnSettingObserver(callback)); + } + + public void getAdminSnSetting(onCompleteCallback callback) { + getAdminSnSettingObservable() + .subscribe(getAdminSnSettingObserver(callback)); + } + + + public void getAdminSnSetting() { + getAdminSnSettingObservable() + .subscribe(getAdminSnSettingObserver(null)); + } + + public Observer getAdminSnSettingObserver(onCompleteCallback callback) { + return new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getAdminSnSettingObserver", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse baseResponse) { + Log.e("getAdminSnSettingObserver", "onNext: " + baseResponse); + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getAdminSnSettingObserver", "onError: "); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("getAdminSnSettingObserver", "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 f244b69..f21b4b6 100644 --- a/app/src/main/java/com/uiui/aios/network/URLAddress.java +++ b/app/src/main/java/com/uiui/aios/network/URLAddress.java @@ -40,6 +40,9 @@ public class URLAddress { public static final String GET_HEALTH_CODE = "getHealthCode"; /*获取联系人*/ public static final String GET_MAIL_LIST = "Control/getMailList"; + /*获取负二屏开关*/ + public static final String GET_ADMIN_SN_SETTING = "getAdminSnSetting"; + public static final String GET_USER_ID = "getUserId"; diff --git a/app/src/main/java/com/uiui/aios/network/api/GetAdminSnSettingApi.java b/app/src/main/java/com/uiui/aios/network/api/GetAdminSnSettingApi.java new file mode 100644 index 0000000..604fccc --- /dev/null +++ b/app/src/main/java/com/uiui/aios/network/api/GetAdminSnSettingApi.java @@ -0,0 +1,15 @@ +package com.uiui.aios.network.api; + +import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.network.URLAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface GetAdminSnSettingApi { + @GET(URLAddress.GET_ADMIN_SN_SETTING) + Observable getAdminSnSetting( + @Query("sn") String sn + ); +} 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 708aae8..b392cca 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 @@ -78,7 +78,7 @@ public class MainService extends BaseService implements MainSContact.MainSView, public void onCreate() { super.onCreate(); Log.e(TAG, "onCreate: "); - ApkUtils.UninstallAPP(this, "com.joytv.live"); +// ApkUtils.UninstallAPP(this, "com.joytv.live"); // ApkUtils.UninstallAPP(this, "com.tencent.android.qqdownloader"); Aria.init(this); 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 74cce82..ea36eb9 100644 --- a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java +++ b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java @@ -11,6 +11,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Binder; import android.os.Build; +import android.provider.Settings; import android.text.TextUtils; import android.util.Log; @@ -31,6 +32,7 @@ import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.function.Predicate; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.core.Observable; @@ -52,6 +54,8 @@ public class ApkUtils { this.add("com.android.uiuios"); this.add("com.uiui.os"); this.add("com.uiui.health"); + this.add("com.tencent.android.qqdownloader"); + this.add("com.uiui.appstore"); }}; private static HashSet showPackageName = new HashSet() {{ this.add("com.android.dialer"); @@ -62,6 +66,7 @@ public class ApkUtils { this.add("com.mediatek.camera"); this.add("com.android.mms"); this.add("com.uiui.city"); + this.add("com.alldocube.store"); }}; private static HashSet allHintPackage = new HashSet() {{ this.add("com.android.uiuios"); @@ -163,6 +168,10 @@ public class ApkUtils { } } } + if (Settings.Global.getInt(context.getContentResolver(), "is_activity", 0) == 0) { + applicationInfos.removeIf(applicationInfo -> "com.uiui.city".equals(applicationInfo.packageName)); + } + applicationInfos.sort(new Comparator() { @Override public int compare(ApplicationInfo o1, ApplicationInfo o2) { diff --git a/app/src/main/res/drawable-hdpi/appstore_icon.png b/app/src/main/res/drawable-hdpi/appstore_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b761f60f302e430bb80b2fabb2cabce45681b269 GIT binary patch literal 4544 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/join_background.xml b/app/src/main/res/drawable/join_background.xml index b6a3aff..66d24fe 100644 --- a/app/src/main/res/drawable/join_background.xml +++ b/app/src/main/res/drawable/join_background.xml @@ -3,7 +3,7 @@ - + - + + + + + + + + + + + + - + @@ -351,6 +365,42 @@ app:layout_constraintTop_toTopOf="parent" /> + + + + + + + - + \ No newline at end of file diff --git a/app/src/main/res/layout-land/fragment_custom_back.xml b/app/src/main/res/layout-land/fragment_custom_back.xml index 150c039..a23ea7a 100644 --- a/app/src/main/res/layout-land/fragment_custom_back.xml +++ b/app/src/main/res/layout-land/fragment_custom_back.xml @@ -91,7 +91,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="8dp" - android:text="爱心守护" + android:text="爱心提醒" android:textColor="@color/black" android:textSize="20sp" android:textStyle="bold" diff --git a/app/src/main/res/layout-port/fragment_custom.xml b/app/src/main/res/layout-port/fragment_custom.xml index 2d0d5ca..bbc2451 100644 --- a/app/src/main/res/layout-port/fragment_custom.xml +++ b/app/src/main/res/layout-port/fragment_custom.xml @@ -103,20 +103,34 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="8dp" - android:text="共享空间" + android:text="一键加速" android:textColor="@color/black" android:textSize="20sp" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/single_dialog.xml b/app/src/main/res/layout/single_dialog.xml index 6d8a46a..74e5c37 100644 --- a/app/src/main/res/layout/single_dialog.xml +++ b/app/src/main/res/layout/single_dialog.xml @@ -84,7 +84,7 @@ - 老人OS系统 + 关怀系统OS Hello blank fragment diff --git a/settings.gradle b/settings.gradle index f77e167..02d332a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ include ':app', ':niceimageview' -rootProject.name='老人OS系统' \ No newline at end of file +rootProject.name='关怀系统OS' \ No newline at end of file