diff --git a/app/build.gradle b/app/build.gradle
index b9dbfa0..e1c8a14 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
applicationId "com.uiui.aios"
minSdkVersion 24
targetSdkVersion 29
- versionCode 72
- versionName "8.1"
+ versionCode 76
+ versionName "8.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -186,15 +186,15 @@ dependencies {
implementation "androidx.room:room-runtime:2.4.3"
annotationProcessor "androidx.room:room-compiler:2.4.3"
//内存泄漏检测
- debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
+ debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10'
//磁盘缓存
implementation 'com.jakewharton:disklrucache:2.0.2'
//glide
implementation 'com.github.bumptech.glide:glide:4.13.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1'
//RxJava
-// implementation 'io.reactivex.rxjava2:rxjava:2.2.12'
-// implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
+ implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
+ implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
//
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
@@ -214,7 +214,7 @@ dependencies {
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
//百度地图
- implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
+// implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
//MMKV
implementation 'com.tencent:mmkv-static:1.2.14'
implementation 'com.tencent.tpns:tpns:1.3.7.0-release'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2522f2c..0adc6c6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,9 +27,9 @@
-
+
-
+
@@ -39,9 +39,9 @@
-
+
-
+
@@ -81,6 +81,7 @@
android:theme="@style/AppTheme">
-
-
+
+
+
+
+
-
-
+
+
+
+
getHideAPP();
+ //获取禁止打开的APP
+ List getForbidAPP();
+
+ //获取app设置
+ String getAppTimeControl();
+ //获取整机设置
+ String getSnTimeControl();
+ //获取系统设置
+ String getSetting();
+ //获取定位结果
+ String getMapResult();
+}
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 e498a71..4cc1f31 100644
--- a/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java
+++ b/app/src/main/java/com/uiui/aios/activity/EmergencyActivity.java
@@ -18,8 +18,8 @@ import com.tencent.mmkv.MMKV;
import com.uiui.aios.R;
import com.uiui.aios.bean.BaseResponse;
import com.uiui.aios.bean.Contact;
+import com.uiui.aios.config.CommonConfig;
import com.uiui.aios.disklrucache.CacheHelper;
-import com.uiui.aios.manager.AmapManager;
import com.uiui.aios.network.NetInterfaceManager;
import com.uiui.aios.network.URLAddress;
import com.uiui.aios.receiver.BootReceiver;
@@ -28,7 +28,6 @@ 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;
@@ -41,12 +40,13 @@ import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
public class EmergencyActivity extends AppCompatActivity {
+ private static final String TAG = EmergencyActivity.class.getSimpleName();
+
@BindView(R.id.tv_countdown)
TextView tv_countdown;
@BindView(R.id.iv_finish)
ImageView iv_finish;
private Disposable subscribe;
- private String TAG = EmergencyActivity.class.getSimpleName();
private boolean needDial = false;
private boolean isCalling = false;
private List phoneListSet;
@@ -98,9 +98,9 @@ public class EmergencyActivity extends AppCompatActivity {
Log.e(TAG, "accept: " + (time - aLong - 1));
} else {
MMKV mmkv = MMKV.defaultMMKV();
- String longitude = mmkv.decodeString(AmapManager.LONGITUDE_KEY, "未知");
- String latitude = mmkv.decodeString(AmapManager.LATITUDE_KEY, "未知");
- String address = mmkv.decodeString(AmapManager.ADDRESS_KEY, "未知");
+ String longitude = mmkv.decodeString(CommonConfig.MAP_LONGITUDE_KEY, "未知");
+ String latitude = mmkv.decodeString(CommonConfig.MAP_LATITUDE_KEY, "未知");
+ String address = mmkv.decodeString(CommonConfig.MAP_ADDRESS_KEY, "未知");
NetInterfaceManager.getInstance()
.getSOSRecordObservable(longitude, latitude, address)
.subscribe(new Observer() {
@@ -162,10 +162,13 @@ public class EmergencyActivity extends AppCompatActivity {
@Override
protected void onStart() {
super.onStart();
- Log.e(TAG, "onResume: ");
- Log.e(TAG, "onResume: " + phoneListSet);
+ Log.e(TAG, "onStart: ");
+ Log.e(TAG, "onStart: " + phoneListSet);
if (needDial) {
- if (phoneListSet == null || phoneListSet.size() == 0) return;
+ if (phoneListSet == null || phoneListSet.size() == 0) {
+ finish();
+ return;
+ }
Handler.getMain().postDelayed(new Runnable() {
@Override
public void run() {
diff --git a/app/src/main/java/com/uiui/aios/activity/code/HealthCodeActivity.java b/app/src/main/java/com/uiui/aios/activity/code/FamilySpaceActivity.java
similarity index 93%
rename from app/src/main/java/com/uiui/aios/activity/code/HealthCodeActivity.java
rename to app/src/main/java/com/uiui/aios/activity/code/FamilySpaceActivity.java
index 7b8e806..ee73fd0 100644
--- a/app/src/main/java/com/uiui/aios/activity/code/HealthCodeActivity.java
+++ b/app/src/main/java/com/uiui/aios/activity/code/FamilySpaceActivity.java
@@ -23,29 +23,30 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class HealthCodeActivity extends BaseActivity implements HealthCodeContact.CodeView {
+public class FamilySpaceActivity extends BaseActivity implements FamilySpaceContact.CodeView {
+
+ @BindView(R.id.iv_back)
+ ImageView iv_back;
@BindView(R.id.viewPager)
ViewPager mViewPager;
@BindView(R.id.magicIndicator)
MagicIndicator mMagicIndicator;
@BindView(R.id.iv_nodata)
ImageView iv_nodata;
- @BindView(R.id.iv_back)
- ImageView iv_back;
- private HealthCodePresenter mPresenter;
+ private FamilySpacePresenter mPresenter;
private HealthCodeAdapter mHealthCodeAdapter;
private ScaleCircleNavigator scaleCircleNavigator;
@Override
public int getLayoutId() {
- return R.layout.activity_code;
+ return R.layout.activity_family_space;
}
@Override
public void initView() {
ButterKnife.bind(this);
- mPresenter = new HealthCodePresenter(this);
+ mPresenter = new FamilySpacePresenter(this);
mPresenter.attachView(this);
mPresenter.setLifecycle(lifecycleSubject);
iv_back.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/uiui/aios/activity/code/HealthCodeContact.java b/app/src/main/java/com/uiui/aios/activity/code/FamilySpaceContact.java
similarity index 93%
rename from app/src/main/java/com/uiui/aios/activity/code/HealthCodeContact.java
rename to app/src/main/java/com/uiui/aios/activity/code/FamilySpaceContact.java
index 1572a5c..271c81f 100644
--- a/app/src/main/java/com/uiui/aios/activity/code/HealthCodeContact.java
+++ b/app/src/main/java/com/uiui/aios/activity/code/FamilySpaceContact.java
@@ -6,7 +6,7 @@ import com.uiui.aios.bean.HealthCode;
import java.util.List;
-public class HealthCodeContact {
+public class FamilySpaceContact {
public interface Presenter extends BasePresenter {
void getHealthCode();
}
diff --git a/app/src/main/java/com/uiui/aios/activity/code/HealthCodePresenter.java b/app/src/main/java/com/uiui/aios/activity/code/FamilySpacePresenter.java
similarity index 79%
rename from app/src/main/java/com/uiui/aios/activity/code/HealthCodePresenter.java
rename to app/src/main/java/com/uiui/aios/activity/code/FamilySpacePresenter.java
index 6cdc816..cbbdac4 100644
--- a/app/src/main/java/com/uiui/aios/activity/code/HealthCodePresenter.java
+++ b/app/src/main/java/com/uiui/aios/activity/code/FamilySpacePresenter.java
@@ -2,22 +2,20 @@ package com.uiui.aios.activity.code;
import android.content.Context;
import android.util.Log;
-import android.view.View;
import androidx.annotation.NonNull;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiui.aios.bean.HealthCode;
import com.uiui.aios.network.NetInterfaceManager;
-import com.uiui.aios.utils.ToastUtil;
import java.util.List;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
-public class HealthCodePresenter implements HealthCodeContact.Presenter {
- private static final String TAG = HealthCodePresenter.class.getSimpleName();
- private HealthCodeContact.CodeView mView;
+public class FamilySpacePresenter implements FamilySpaceContact.Presenter {
+ private static final String TAG = FamilySpacePresenter.class.getSimpleName();
+ private FamilySpaceContact.CodeView mView;
private Context mContext;
@@ -31,14 +29,14 @@ public class HealthCodePresenter implements HealthCodeContact.Presenter {
return lifecycle;
}
- HealthCodePresenter(Context context) {
+ FamilySpacePresenter(Context context) {
this.mContext = context;
Log.e(TAG, "MainPresenter: " + context.getClass());
}
@Override
- public void attachView(@NonNull HealthCodeContact.CodeView view) {
+ public void attachView(@NonNull FamilySpaceContact.CodeView view) {
this.mView = view;
}
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 6e1c4f0..e30459a 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
@@ -10,7 +10,9 @@ import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Color;
+import android.os.Bundle;
import android.os.IBinder;
+import android.os.PersistableBundle;
import android.os.RemoteException;
import android.provider.Settings;
import android.text.TextUtils;
@@ -100,20 +102,16 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
mMainPresenter.attachView(this);
mMainPresenter.setLifecycle(lifecycleSubject);
- if (BuildConfig.DEBUG) {
- Log.e(TAG, "initView: " + this.getClass().getName());
-// SystemClock.setCurrentTimeMillis(1662123600000L);//09-02
-// SystemClock.setCurrentTimeMillis(1662210000000L);//09-03
- }
-
mFragmentManager = getSupportFragmentManager();
// mFragmentTransaction = mFragmentManager.beginTransaction();
mFragments = new ArrayList<>();
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
// fragmentTransaction.add(R.id.viewPager, appListFragment);
// fragmentTransaction.commit();
+
mControlFragment = new ControlFragment();
mFragments.add(mControlFragment);
+
is_twoscreen = Settings.Global.getInt(getContentResolver(), "is_twoscreen", 0) == 1;
if (is_twoscreen) {
appListIndex = 3;
@@ -121,12 +119,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
mSecondFragment = new SecondFragment();
mFragments.add(mSecondFragment);
}
+
mCustomFragment = new CustomFragment();
mFragments.add(mCustomFragment);
mMainPresenter.getSystemSettings();
-// mMainPresenter.getAdminSnSetting();
- 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) {
@@ -153,7 +151,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
});
mViewPager.setAdapter(mBaseFragmentPagerAdapter);
- mViewPager.setOffscreenPageLimit(5);
+ mViewPager.setOffscreenPageLimit(3);
mMagicIndicator.setNavigator(scaleCircleNavigator);
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
if (mFragments.size() > 1) {
@@ -255,6 +253,16 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
}
}
+ @Override
+
+ public void onWindowFocusChanged(boolean hasFocus) {
+ super.onWindowFocusChanged(hasFocus);
+ if (hasFocus) {//表示渲染结束
+ addData();
+ }
+ }
+
+
private final static int APP_LIST_SIZE = 3 * 4;
private void addData() {
@@ -326,6 +334,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
+ Log.e(TAG, "onConfigurationChanged: ");
}
@Override
@@ -341,6 +350,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
protected void onResume() {
super.onResume();
Log.e(TAG, "onResume: ");
+ Log.e(TAG, "onResume: " + System.currentTimeMillis());
int agree = mMMKV.decodeInt("AgreePrivacyPolicy", 0);
if (agree == 0) {
showPolicyDialog();
@@ -385,7 +395,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
privacyPolicyDialog.show();
}
-
private void addHomeWatcher() {
if (mHomeWatcher == null) {
mHomeWatcher = new HomeWatcher(this);
@@ -476,6 +485,20 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
}
}
+ @Override
+ protected void onSaveInstanceState(@NonNull Bundle outState) {
+ super.onSaveInstanceState(outState);
+ Log.e(TAG, "onSaveInstanceState: ");
+ Log.e(TAG, "onSaveInstanceState: " + System.currentTimeMillis());
+ }
+
+ @Override
+ protected void onRestoreInstanceState(Bundle savedInstanceState) {
+ super.onRestoreInstanceState(savedInstanceState);
+ Log.e(TAG, "onRestoreInstanceState: ");
+ Log.e(TAG, "onRestoreInstanceState: " + System.currentTimeMillis());
+ }
+
@Override
protected void onStop() {
super.onStop();
@@ -498,12 +521,13 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
}
}
+
private void registmNewAppReceiver() {
mNewAppReceiver = new NewAppReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
- filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+// filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addDataScheme("package");
@@ -519,7 +543,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
Log.e(TAG, "onReceive: " + action);
if (Intent.ACTION_PACKAGE_ADDED.equals(action)
|| Intent.ACTION_PACKAGE_REMOVED.equals(action)
- || Intent.ACTION_PACKAGE_CHANGED.equals(action)) {
+// || Intent.ACTION_PACKAGE_CHANGED.equals(action)
+ ) {
addData();
}
}
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 d743073..fe62457 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
@@ -19,9 +19,11 @@ import com.uiui.aios.utils.Utils;
import java.util.List;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
public class MainPresenter implements MainContact.Presenter {
@@ -122,12 +124,15 @@ public class MainPresenter implements MainContact.Presenter {
if (!TextUtils.isEmpty(packagename)) {
Log.e(TAG, "onRestart: " + ApkUtils.getAppNameByPackage(mContext, packagename));
Log.e(TAG, "onRestart: " + packagename);
- NetInterfaceManager.getInstance().getAppUsageRecordControl()
+ NetInterfaceManager.getInstance()
+ .getAppUsageRecordControl()
.sendappUsageRecord(Utils.getSerial(),
ApkUtils.getAppNameByPackage(mContext, packagename),
packagename,
AppUsedTimeUtils.getInstance().getStartTime() / 1000,
AppUsedTimeUtils.getInstance().getEndTime() / 1000)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
@@ -171,6 +176,8 @@ public class MainPresenter implements MainContact.Presenter {
Log.e(TAG, "sendRunningInfo: " + jsonString);
NetInterfaceManager.getInstance()
.getRunningAppObservable(jsonString)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
diff --git a/app/src/main/java/com/uiui/aios/activity/weather/WeatherActivity.java b/app/src/main/java/com/uiui/aios/activity/weather/WeatherActivity.java
index af0b397..2757278 100644
--- a/app/src/main/java/com/uiui/aios/activity/weather/WeatherActivity.java
+++ b/app/src/main/java/com/uiui/aios/activity/weather/WeatherActivity.java
@@ -13,6 +13,7 @@ import com.qweather.sdk.bean.weather.WeatherDailyBean;
import com.uiui.aios.R;
import com.uiui.aios.adapter.WeatherDayApdapter;
import com.uiui.aios.base.BaseActivity;
+import com.uiui.aios.manager.RemoteManager;
import com.uiui.aios.view.HorizontalItemDecoration;
import butterknife.BindView;
@@ -40,6 +41,7 @@ public class WeatherActivity extends BaseActivity implements WeatherContact.Weat
mPresenter = new WeatherPresenter(this);
mPresenter.attachView(this);
mPresenter.setLifecycle(lifecycleSubject);
+ RemoteManager.getInstance().getLocation();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
Resources resources = getResources();
if (resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
diff --git a/app/src/main/java/com/uiui/aios/activity/weather/WeatherPresenter.java b/app/src/main/java/com/uiui/aios/activity/weather/WeatherPresenter.java
index f24b8f7..958ce7b 100644
--- a/app/src/main/java/com/uiui/aios/activity/weather/WeatherPresenter.java
+++ b/app/src/main/java/com/uiui/aios/activity/weather/WeatherPresenter.java
@@ -5,14 +5,13 @@ import android.util.Log;
import androidx.annotation.NonNull;
-import com.baidu.location.BDLocation;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.qweather.sdk.bean.weather.WeatherDailyBean;
import com.qweather.sdk.view.QWeather;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.android.ActivityEvent;
-import com.uiui.aios.manager.AmapManager;
+import com.uiui.aios.manager.RemoteManager;
import java.lang.reflect.Type;
@@ -58,11 +57,7 @@ public class WeatherPresenter implements WeatherContact.Presenter {
@Override
public void getLocation() {
- BDLocation bdLocation = AmapManager.getInstance().getNowMapLocation();
- String location = "未知";
- if (bdLocation != null) {
- location = bdLocation.getCity() + "\t" + bdLocation.getDistrict();
- }
+ String location = RemoteManager.getInstance().getCityDistrict();
mView.setLocation(location);
}
@@ -78,7 +73,7 @@ public class WeatherPresenter implements WeatherContact.Presenter {
@Override
public void getWeather() {
- QWeather.getWeather7D(mContext, AmapManager.getInstance().getLocation(), new QWeather.OnResultWeatherDailyListener() {
+ QWeather.getWeather7D(mContext, RemoteManager.getInstance().getLocationTude(), new QWeather.OnResultWeatherDailyListener() {
@Override
public void onError(Throwable throwable) {
Log.e("getWeather", "onError: " + throwable.getMessage());
diff --git a/app/src/main/java/com/uiui/aios/adapter/AppSelectedAdapter.java b/app/src/main/java/com/uiui/aios/adapter/AppSelectedAdapter.java
index c7bcf3f..0ac3abb 100644
--- a/app/src/main/java/com/uiui/aios/adapter/AppSelectedAdapter.java
+++ b/app/src/main/java/com/uiui/aios/adapter/AppSelectedAdapter.java
@@ -21,6 +21,7 @@ import java.util.List;
public class AppSelectedAdapter extends RecyclerView.Adapter {
private static final String TAG = AppSelectedAdapter.class.getSimpleName();
+
private Context mContext;
private List mAppSelectBeans;
private int unselectedStatus = -1;
diff --git a/app/src/main/java/com/uiui/aios/base/BaseApplication.java b/app/src/main/java/com/uiui/aios/base/BaseApplication.java
index 9cdfbc6..0180335 100644
--- a/app/src/main/java/com/uiui/aios/base/BaseApplication.java
+++ b/app/src/main/java/com/uiui/aios/base/BaseApplication.java
@@ -14,8 +14,8 @@ import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.uiui.aios.BuildConfig;
import com.uiui.aios.alarm.AlarmUtils;
-import com.uiui.aios.manager.AmapManager;
import com.uiui.aios.manager.ConnectManager;
+import com.uiui.aios.manager.RemoteManager;
import com.uiui.aios.network.NetInterfaceManager;
import com.uiui.aios.service.main.MainService;
import com.uiui.aios.utils.AppUsedTimeUtils;
@@ -51,7 +51,7 @@ public class BaseApplication extends Application {
HeConfig.init("HE2206151627491952", "03125bfee8934cf4b640af48e8187c9d");
//切换至开发版服务
HeConfig.switchToDevService();
- AmapManager.init(this);
+ RemoteManager.init(this);
ConnectManager.init(this);
NetInterfaceManager.init(this);
startService(new Intent(this, MainService.class));
diff --git a/app/src/main/java/com/uiui/aios/bean/MapBean.java b/app/src/main/java/com/uiui/aios/bean/MapBean.java
new file mode 100644
index 0000000..19feaa1
--- /dev/null
+++ b/app/src/main/java/com/uiui/aios/bean/MapBean.java
@@ -0,0 +1,134 @@
+package com.uiui.aios.bean;
+
+import java.io.Serializable;
+
+public class MapBean implements Serializable {
+ private static final long serialVersionUID = -4356064111098876676L;
+
+ double longitude;
+ double latitude;
+ String adcode;
+ String address;
+ String city;
+ String cityCode;
+ String country;
+ String countryCode;
+ String district;
+ String province;
+ String street;
+ String streetNumber;
+ String town;
+ String locationDescribe;
+
+ public double getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(double longitude) {
+ this.longitude = longitude;
+ }
+
+ public double getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(double latitude) {
+ this.latitude = latitude;
+ }
+
+ public String getAdcode() {
+ return adcode;
+ }
+
+ public void setAdcode(String adcode) {
+ this.adcode = adcode;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getCityCode() {
+ return cityCode;
+ }
+
+ public void setCityCode(String cityCode) {
+ this.cityCode = cityCode;
+ }
+
+ public String getCountry() {
+ return country;
+ }
+
+ public void setCountry(String country) {
+ this.country = country;
+ }
+
+ public String getCountryCode() {
+ return countryCode;
+ }
+
+ public void setCountryCode(String countryCode) {
+ this.countryCode = countryCode;
+ }
+
+ public String getDistrict() {
+ return district;
+ }
+
+ public void setDistrict(String district) {
+ this.district = district;
+ }
+
+ public String getProvince() {
+ return province;
+ }
+
+ public void setProvince(String province) {
+ this.province = province;
+ }
+
+ public String getStreet() {
+ return street;
+ }
+
+ public void setStreet(String street) {
+ this.street = street;
+ }
+
+ public String getStreetNumber() {
+ return streetNumber;
+ }
+
+ public void setStreetNumber(String streetNumber) {
+ this.streetNumber = streetNumber;
+ }
+
+ public String getTown() {
+ return town;
+ }
+
+ public void setTown(String town) {
+ this.town = town;
+ }
+
+ public String getLocationDescribe() {
+ return locationDescribe;
+ }
+
+ public void setLocationDescribe(String locationDescribe) {
+ this.locationDescribe = locationDescribe;
+ }
+}
diff --git a/app/src/main/java/com/uiui/aios/config/CommonConfig.java b/app/src/main/java/com/uiui/aios/config/CommonConfig.java
index 05e03b4..adb0a22 100644
--- a/app/src/main/java/com/uiui/aios/config/CommonConfig.java
+++ b/app/src/main/java/com/uiui/aios/config/CommonConfig.java
@@ -9,4 +9,10 @@ public class CommonConfig {
public static final String UIUI_CODE_TYPE_KEY = "uiui_code_type";
/*体验到期时间戳*/
public static final String UIUI_EXPIRE_TIME_KEY = "uiui_expire_time";
+
+ public static final String MAP_LOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING";
+ public static final String MAP_LONGITUDE_KEY = "map_longitude_key";
+ public static final String MAP_LATITUDE_KEY = "map_latitude_key";
+ public static final String MAP_ADDRESS_KEY = "map_address_key";
+ public static final String MAP_ERROR_KEY = "map_error_key";
}
diff --git a/app/src/main/java/com/uiui/aios/fragment/AppListFragment.java b/app/src/main/java/com/uiui/aios/fragment/AppListFragment.java
index 59f0aa8..fea2cb8 100644
--- a/app/src/main/java/com/uiui/aios/fragment/AppListFragment.java
+++ b/app/src/main/java/com/uiui/aios/fragment/AppListFragment.java
@@ -22,7 +22,7 @@ import com.google.gson.JsonObject;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.uiui.aios.R;
-import com.uiui.aios.activity.code.HealthCodeActivity;
+import com.uiui.aios.activity.code.FamilySpaceActivity;
import com.uiui.aios.base.BaseFragment;
import com.uiui.aios.bean.BaseResponse;
import com.uiui.aios.bean.DesktopIcon;
@@ -195,7 +195,7 @@ public class AppListFragment extends BaseFragment {
}
break;
case "aios.family":
- startActivity(new Intent(mContext, HealthCodeActivity.class));
+ startActivity(new Intent(mContext, FamilySpaceActivity.class));
break;
case "com.android.dialer":
int qch_call_forbid = Settings.System.getInt(mContext.getContentResolver(), "qch_call_forbid", 0);
diff --git a/app/src/main/java/com/uiui/aios/fragment/ControlFragment.java b/app/src/main/java/com/uiui/aios/fragment/ControlFragment.java
index 99524fb..7a985c7 100644
--- a/app/src/main/java/com/uiui/aios/fragment/ControlFragment.java
+++ b/app/src/main/java/com/uiui/aios/fragment/ControlFragment.java
@@ -33,12 +33,11 @@ import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
-import com.baidu.location.BDAbstractLocationListener;
-import com.baidu.location.BDLocation;
-import com.baidu.location.LocationClient;
+import com.tencent.mmkv.MMKV;
import com.uiui.aios.R;
+import com.uiui.aios.config.CommonConfig;
import com.uiui.aios.disklrucache.CacheHelper;
-import com.uiui.aios.manager.AmapManager;
+import com.uiui.aios.manager.RemoteManager;
import com.uiui.aios.utils.BrightnessUtils;
import com.uiui.aios.view.RulerSeekBar;
@@ -748,43 +747,17 @@ public class ControlFragment extends Fragment {
}, 1999);
}
- private LocationClient locationClient;
-
private void getLocation() {
- String addr = mCacheHelper.getAsString(AmapManager.ADDRESS_KEY);
+ String addr = MMKV.defaultMMKV().decodeString(CommonConfig.MAP_ADDRESS_KEY);
if (TextUtils.isEmpty(addr)) {
tv_location.setText("未知");
} else {
tv_location.setText(addr);
}
- startLocation();
cl_location.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- startLocation();
- }
- });
- }
-
- private void startLocation() {
- if (locationClient == null) {
- locationClient = AmapManager.getInstance().getLocationClient();
- }
- locationClient.stop();
- locationClient.start();
- locationClient.registerLocationListener(new BDAbstractLocationListener() {
- @Override
- public void onReceiveLocation(BDLocation bdLocation) {
- switch (bdLocation.getLocType()) {
- case BDLocation.TypeGpsLocation:// GPS定位结果
- case BDLocation.TypeNetWorkLocation:// 网络定位结果
- case BDLocation.TypeOffLineLocation:// 离线定位结果
- tv_location.setText(bdLocation.getAddrStr());
- break;
- default:
- tv_location.setText("定位失败");
- break;
- }
+ RemoteManager.getInstance().getLocation();
}
});
}
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 d457ec6..d3bf947 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
@@ -9,6 +9,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.content.res.Configuration;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
@@ -25,14 +26,12 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import com.baidu.location.BDAbstractLocationListener;
-import com.baidu.location.BDLocation;
-import com.baidu.location.LocationClient;
import com.blankj.utilcode.util.NetworkUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -49,10 +48,9 @@ import com.uiui.aios.R;
import com.uiui.aios.activity.EmergencyActivity;
import com.uiui.aios.activity.QuickAppActivity;
import com.uiui.aios.activity.alarm.AlarmClockActivity;
-import com.uiui.aios.activity.code.HealthCodeActivity;
+import com.uiui.aios.activity.code.FamilySpaceActivity;
import com.uiui.aios.activity.contact.ContactActivity;
import com.uiui.aios.activity.weather.WeatherActivity;
-import com.uiui.aios.adapter.NotificationAdapter;
import com.uiui.aios.adapter.SOSNnmberAdapter;
import com.uiui.aios.base.BaseFragment;
import com.uiui.aios.bean.AlarmClockData;
@@ -64,7 +62,7 @@ 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;
+import com.uiui.aios.manager.RemoteManager;
import com.uiui.aios.network.NetInterfaceManager;
import com.uiui.aios.network.URLAddress;
import com.uiui.aios.tpush.MessageReceiver;
@@ -180,6 +178,28 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
private String mParam1;
private String mParam2;
+ @Override
+ public void onDisconnected() {
+// wifi_ssid.setText("WiFi未连接");
+ }
+
+ @Override
+ public void onConnected(NetworkUtils.NetworkType networkType) {
+ if (networkType == NetworkUtils.NetworkType.NETWORK_WIFI) {
+// wifi_ssid.setText(getConnectWifiSsid());
+ } else {
+// wifi_ssid.setText("WiFi未连接");
+ }
+ }
+
+ private String getConnectWifiSsid() {
+ WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
+ WifiInfo wifiInfo = wifiManager.getConnectionInfo();
+ Log.d("wifiInfo", wifiInfo.toString());
+ Log.d("SSID", wifiInfo.getSSID());
+ return wifiInfo.getSSID();
+ }
+
public CustomFragment() {
// Required empty public constructor
}
@@ -216,155 +236,20 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
mParam2 = getArguments().getString(ARG_PARAM2);
}
mMMKV = MMKV.defaultMMKV();
+ }
+ @Override
+ public void onConfigurationChanged(@NonNull Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
}
@Override
public void fetchData() {
Log.e(TAG, "fetchData: ");
+ RemoteManager.getInstance().getLocation();
initData();
}
- @Override
- public void onDisconnected() {
-// wifi_ssid.setText("WiFi未连接");
- }
-
- @Override
- public void onConnected(NetworkUtils.NetworkType networkType) {
- if (networkType == NetworkUtils.NetworkType.NETWORK_WIFI) {
-// wifi_ssid.setText(getConnectWifiSsid());
- } else {
-// wifi_ssid.setText("WiFi未连接");
- }
- }
-
- private String getConnectWifiSsid() {
- WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
- WifiInfo wifiInfo = wifiManager.getConnectionInfo();
- Log.d("wifiInfo", wifiInfo.toString());
- Log.d("SSID", wifiInfo.getSSID());
- return wifiInfo.getSSID();
- }
-
- /**
- * 检查wifi是否处开连接状态
- *
- * @return
- */
- public boolean isWifiConnect() {
- ConnectivityManager connManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo mWifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
- return mWifiInfo.isConnected();
- }
-
- private RefreshBroadcastReceiver mRefreshBroadcastReceiver;
-
- private void registerRefreshReceiver() {
- if (mRefreshBroadcastReceiver == null) {
- mRefreshBroadcastReceiver = new RefreshBroadcastReceiver();
- }
- IntentFilter filter = new IntentFilter();
- filter.addAction(QuickAppActivity.QUICK_APP_REFRESH_KEY);
- mContext.registerReceiver(mRefreshBroadcastReceiver, filter);
- }
-
- class RefreshBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.e(TAG, "onReceive: " + intent.getAction());
- setQuickApp();
- }
- }
-
- private void registerAlarmClockReceiver() {
- if (null == mAlarmClockReceiver) {
- mAlarmClockReceiver = new AlarmClockReceiver();
- }
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(MessageReceiver.SET_ALARMCLOCK);
- mContext.registerReceiver(mAlarmClockReceiver, filter);
- }
-
- private AlarmClockReceiver mAlarmClockReceiver;
-
- private class AlarmClockReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- Log.e(TAG, "onReceive: " + action);
- if (MessageReceiver.SET_ALARMCLOCK.equals(action)) {
- Handler.getMain().postDelayed(new Runnable() {
- @Override
- public void run() {
- mCustomPresenter.getAlarmClock();
- }
- }, 3456);
- }
- }
- }
-
- private void registerBatteryReceiver() {
- if (null == batteryReceiver) {
- batteryReceiver = new BatteryReceiver();
- }
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(Intent.ACTION_BATTERY_CHANGED);
- filter.addAction(Intent.ACTION_BATTERY_LOW);
- filter.addAction(Intent.ACTION_BATTERY_OKAY);
- filter.addAction(Intent.ACTION_POWER_CONNECTED);
- filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
- mContext.registerReceiver(batteryReceiver, filter);
- }
-
- private BatteryReceiver batteryReceiver;
-
- private class BatteryReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
- // 当前电量
- int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
- // 最大电量
- int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
- int elec = (level * 100) / scale;
- Log.i(TAG, "electricity:=" + elec + "%");
-// tv_battery.setText(elec + "%");
- } else if (Intent.ACTION_POWER_CONNECTED.equals(action)
- || Intent.ACTION_POWER_DISCONNECTED.equals(action)
- || Intent.ACTION_BATTERY_LOW.equals(action)
- || Intent.ACTION_BATTERY_OKAY.equals(action)
- ) {
-
- }
- }
- }
-
- private BroadcastReceiver mbatteryReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- Log.i(TAG, "onReceive: " + action);
- if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
- int status = intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN);
- if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
- if (rootView != null) {
-// iv_charging.setVisibility(View.VISIBLE);
- }
- } else {
- if (rootView != null) {
-// iv_charging.setVisibility(View.GONE);
- }
- }
- }
- }
- };
-
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
@@ -545,6 +430,17 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
refreshMemory();
}
+ /**
+ * 检查wifi是否处开连接状态
+ *
+ * @return
+ */
+ public boolean isWifiConnect() {
+ ConnectivityManager connManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
+ NetworkInfo mWifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+ return mWifiInfo.isConnected();
+ }
+
private void showExpired() {
SingleDialog dialog = new SingleDialog(mContext);
dialog.setTitle("温馨提示")
@@ -805,28 +701,9 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
}
private void initAmap() {
- LocationClient locationClient = AmapManager.getInstance().getLocationClient();
- locationClient.stop();
- locationClient.start();
- locationClient.registerLocationListener(new BDAbstractLocationListener() {
- @Override
- public void onReceiveLocation(BDLocation bdLocation) {
- Log.e(TAG, "onReceiveLocation: ");
- switch (bdLocation.getLocType()) {
- case BDLocation.TypeGpsLocation:// GPS定位结果
- case BDLocation.TypeNetWorkLocation:// 网络定位结果
- case BDLocation.TypeOffLineLocation:// 离线定位结果
- String city = bdLocation.getCity();
- tv_location.setText(city);
- getweather(bdLocation.getLongitude(), bdLocation.getLatitude());
- break;
- default:
- BDLocation location = AmapManager.getInstance().getNowMapLocation();
- getweather(location.getLongitude(), location.getLatitude());
- break;
- }
- }
- });
+ String city = RemoteManager.getInstance().getCity();
+ tv_location.setText(city);
+ getweather(RemoteManager.getInstance().getLongitude(), RemoteManager.getInstance().getLatitude());
}
private void getAlarm() {
@@ -871,7 +748,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
NetInterfaceManager.getInstance().getHealthCode(new NetInterfaceManager.HealthCodeCallback() {
@Override
public void setHealthCode(List healthCode) {
- startActivity(new Intent(mContext, HealthCodeActivity.class));
+ startActivity(new Intent(mContext, FamilySpaceActivity.class));
}
@Override
@@ -999,6 +876,111 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
float x2 = (((total - avail) / (float) total));
}
+ private RefreshBroadcastReceiver mRefreshBroadcastReceiver;
+
+ private void registerRefreshReceiver() {
+ if (mRefreshBroadcastReceiver == null) {
+ mRefreshBroadcastReceiver = new RefreshBroadcastReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(QuickAppActivity.QUICK_APP_REFRESH_KEY);
+ mContext.registerReceiver(mRefreshBroadcastReceiver, filter);
+ }
+
+ class RefreshBroadcastReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ Log.e(TAG, "onReceive: " + intent.getAction());
+ setQuickApp();
+ }
+ }
+
+ private void registerAlarmClockReceiver() {
+ if (null == mAlarmClockReceiver) {
+ mAlarmClockReceiver = new AlarmClockReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ filter.addAction(MessageReceiver.SET_ALARMCLOCK);
+ mContext.registerReceiver(mAlarmClockReceiver, filter);
+ }
+
+ private AlarmClockReceiver mAlarmClockReceiver;
+
+ private class AlarmClockReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ Log.e(TAG, "onReceive: " + action);
+ if (MessageReceiver.SET_ALARMCLOCK.equals(action)) {
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ mCustomPresenter.getAlarmClock();
+ }
+ }, 3456);
+ }
+ }
+ }
+
+ private void registerBatteryReceiver() {
+ if (null == batteryReceiver) {
+ batteryReceiver = new BatteryReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ filter.addAction(Intent.ACTION_BATTERY_CHANGED);
+ filter.addAction(Intent.ACTION_BATTERY_LOW);
+ filter.addAction(Intent.ACTION_BATTERY_OKAY);
+ filter.addAction(Intent.ACTION_POWER_CONNECTED);
+ filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
+ mContext.registerReceiver(batteryReceiver, filter);
+ }
+
+ private BatteryReceiver batteryReceiver;
+
+ private class BatteryReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
+ // 当前电量
+ int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
+ // 最大电量
+ int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
+ int elec = (level * 100) / scale;
+ Log.i(TAG, "electricity:=" + elec + "%");
+// tv_battery.setText(elec + "%");
+ } else if (Intent.ACTION_POWER_CONNECTED.equals(action)
+ || Intent.ACTION_POWER_DISCONNECTED.equals(action)
+ || Intent.ACTION_BATTERY_LOW.equals(action)
+ || Intent.ACTION_BATTERY_OKAY.equals(action)
+ ) {
+
+ }
+ }
+ }
+
+ private BroadcastReceiver mbatteryReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ Log.i(TAG, "onReceive: " + action);
+ if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
+ int status = intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN);
+ if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
+ if (rootView != null) {
+// iv_charging.setVisibility(View.VISIBLE);
+ }
+ } else {
+ if (rootView != null) {
+// iv_charging.setVisibility(View.GONE);
+ }
+ }
+ }
+ }
+ };
/**
* 时间
diff --git a/app/src/main/java/com/uiui/aios/manager/AmapManager.java b/app/src/main/java/com/uiui/aios/manager/AmapManager.java
deleted file mode 100644
index fda6704..0000000
--- a/app/src/main/java/com/uiui/aios/manager/AmapManager.java
+++ /dev/null
@@ -1,410 +0,0 @@
-package com.uiui.aios.manager;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.baidu.location.BDAbstractLocationListener;
-import com.baidu.location.BDLocation;
-import com.baidu.location.LocationClient;
-import com.baidu.location.LocationClientOption;
-import com.blankj.utilcode.util.SPUtils;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import com.tencent.mmkv.MMKV;
-import com.uiui.aios.disklrucache.CacheHelper;
-import com.uiui.aios.utils.GsonUtils;
-
-import java.lang.reflect.Type;
-
-public class AmapManager {
- private static final String TAG = AmapManager.class.getSimpleName();
- @SuppressLint("StaticFieldLeak")
- private static AmapManager sInstance;
- private Context mContext;
- @SuppressLint("StaticFieldLeak")
- private LocationClient mLocationClient = null;
- private LocationClientOption mOption;
- private BDLocation mLocation;
- private CacheHelper mCacheHelper;
-
- private static final String AMAPLOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING";
- public static final String LONGITUDE_KEY = "map_longitude_key";
- public static final String LATITUDE_KEY = "map_latitude_key";
- public static final String ADDRESS_KEY = "map_address_key";
- public static final String ERROR_KEY = "map_error_key";
-
- private AmapManager(Context context) {
- this.mContext = context;
- this.mCacheHelper = new CacheHelper(context);
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+gps");
- initAmap();
- }
-
- public static void init(Context context) {
- if (context == null) {
- throw new RuntimeException("Context is NULL");
- }
- if (sInstance == null) {
- sInstance = new AmapManager(context);
- }
- }
-
- public static AmapManager getInstance() {
- if (sInstance == null) {
- throw new IllegalStateException("You must be init AmapManager first");
- }
- return sInstance;
- }
-
- public void initAmap() {
- if (mLocationClient == null) {
- mLocationClient = new LocationClient(mContext);
- }
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+gps");
- mLocationClient.setLocOption(getDefaultLocationClientOption());
- mLocationClient.registerLocationListener(mListener);
- mLocationClient.stop();
- mLocationClient.start();
- }
-
-
- public LocationClient getLocationClient() {
- if (mLocationClient == null) {
- initAmap();
- }
- return mLocationClient;
- }
-
- public BDLocation getNowMapLocation() {
- if (mLocation == null) {
- String aMapLocationjson = SPUtils.getInstance().getString(AMAPLOCATION_JSON_KEY);
- if (TextUtils.isEmpty(aMapLocationjson)) {
- return null;
- }
- Type type = new TypeToken() {
- }.getType();
- try {
- BDLocation bdLocation = new Gson().fromJson(aMapLocationjson, type);
- return bdLocation;
- } catch (Exception e) {
- Log.e(TAG, "getNowMapLocation: " + e.getMessage());
- return null;
- }
- }
- return this.mLocation;
- }
-
- public String getLocation() {
- BDLocation bdLocation = getNowMapLocation();
- if (bdLocation == null) {
- return "0,0";
- } else {
- String location = bdLocation.getLongitude() + "," + bdLocation.getLatitude();
- Log.e(TAG, "getLocation: " + location);
- return location;
- }
- }
-
-
- /***
- *
- * @return DefaultLocationClientOption 默认O设置
- */
- public LocationClientOption getDefaultLocationClientOption() {
- if (mOption == null) {
- mOption = new LocationClientOption();
- mOption.setCoorType("bd09ll"); // 可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll;
- mOption.setScanSpan(0); // 可选,默认0,即仅定位一次,设置发起连续定位请求的间隔需要大于等于1000ms才是有效的
- mOption.setIsNeedAddress(true); // 可选,设置是否需要地址信息,默认不需要
- mOption.setIsNeedLocationDescribe(true); // 可选,设置是否需要地址描述
- mOption.setNeedDeviceDirect(false); // 可选,设置是否需要设备方向结果
- mOption.setLocationNotify(false); // 可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
- mOption.setIgnoreKillProcess(true); // 可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop
- mOption.setIsNeedLocationDescribe(true); // 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation
- mOption.setIsNeedLocationPoiList(true); // 可选,默认false,设置是否需要POI结果,可以在BDLocation
- mOption.SetIgnoreCacheException(false); // 可选,默认false,设置是否收集CRASH信息,默认收集
- mOption.setLocationMode(LocationClientOption.LocationMode.Battery_Saving); // 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备,模糊
- mOption.setIsNeedAltitude(false); // 可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用
- // 可选,设置首次定位时选择定位速度优先还是定位准确性优先,默认为速度优先
-// mOption.setFirstLocType(LocationClientOption.FirstLocType.SPEED_IN_FIRST_LOC);
- }
- return mOption;
- }
-
-
- /*****
- *
- * 定位结果回调,重写onReceiveLocation方法,可以直接拷贝如下代码到自己工程中修改
- *
- */
- private BDAbstractLocationListener mListener = new BDAbstractLocationListener() {
-
- /**
- * 定位请求回调函数
- * @param location 定位结果
- */
- @Override
- public void onReceiveLocation(BDLocation location) {
- if (null != location) {
- switch (location.getLocType()) {
- case BDLocation.TypeGpsLocation:// GPS定位结果
- case BDLocation.TypeNetWorkLocation:// 网络定位结果
- case BDLocation.TypeOffLineLocation:// 离线定位结果
- SPUtils.getInstance().put(AMAPLOCATION_JSON_KEY, GsonUtils.toJsonString(location));
- Log.e(TAG, "onLocationChanged: " + "定位成功");
- Log.e(TAG, "onLocationChanged: longitude = " + location.getLongitude());
- Log.e(TAG, "onLocationChanged: latitude = " + location.getLatitude());
- Log.e(TAG, "onLocationChanged: " + location.getAddrStr() + location.getLocationDescribe());
- mCacheHelper.put(ADDRESS_KEY, location.getAddrStr() + location.getLocationDescribe());
- mCacheHelper.put(LONGITUDE_KEY, location.getLongitude());
- mCacheHelper.put(LATITUDE_KEY, location.getLatitude());
- mCacheHelper.put(ERROR_KEY, "-");
- break;
- case BDLocation.TypeServerError:
- Log.e(TAG, "onReceiveLocation: " + "服务端网络定位失败");
- mCacheHelper.put(ERROR_KEY, "服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
- break;
- case BDLocation.TypeNetWorkException:
- Log.e(TAG, "onReceiveLocation: " + "网络不同导致定位失败,请检查网络是否通畅");
- mCacheHelper.put(ERROR_KEY, "网络不同导致定位失败,请检查网络是否通畅");
- break;
- case BDLocation.TypeCriteriaException:
- Log.e(TAG, "onReceiveLocation: " + "无法获取有效定位依据导致定位失败");
- mCacheHelper.put(ERROR_KEY, "无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
- break;
- default:
- }
- }
-// if (null != location && location.getLocType() != BDLocation.TypeServerError) {
-// StringBuffer sb = new StringBuffer(256);
-// sb.append("time : ");
-// /**
-// * 时间也可以使用systemClock.elapsedRealtime()方法 获取的是自从开机以来,每次回调的时间;
-// * location.getTime() 是指服务端出本次结果的时间,如果位置不发生变化,则时间不变
-// */
-// sb.append(location.getTime());
-// sb.append("\nsysTime : ");
-// sb.append(SystemClock.elapsedRealtime());
-// sb.append("\nlocType : ");// 定位类型
-// sb.append(location.getLocType());
-// sb.append("\nlocType description : ");// *****对应的定位类型说明*****
-// sb.append(location.getLocTypeDescription());
-// sb.append("\nlatitude : ");// 纬度
-// sb.append(location.getLatitude());
-// sb.append("\nlongtitude : ");// 经度
-// sb.append(location.getLongitude());
-// sb.append("\nradius : ");// 半径
-// sb.append(location.getRadius());
-// sb.append("\nCountryCode : ");// 国家码
-// sb.append(location.getCountryCode());
-// sb.append("\nProvince : ");// 获取省份
-// sb.append(location.getProvince());
-// sb.append("\nCountry : ");// 国家名称
-// sb.append(location.getCountry());
-// sb.append("\ncitycode : ");// 城市编码
-// sb.append(location.getCityCode());
-// sb.append("\ncity : ");// 城市
-// sb.append(location.getCity());
-// sb.append("\nDistrict : ");// 区
-// sb.append(location.getDistrict());
-// sb.append("\nTown : ");// 获取镇信息
-// sb.append(location.getTown());
-// sb.append("\nStreet : ");// 街道
-// sb.append(location.getStreet());
-// sb.append("\naddr : ");// 地址信息
-// sb.append(location.getAddrStr());
-// sb.append("\nStreetNumber : ");// 获取街道号码
-// sb.append(location.getStreetNumber());
-// sb.append("\nUserIndoorState: ");// *****返回用户室内外判断结果*****
-// sb.append(location.getUserIndoorState());
-// sb.append("\nDirection(not all devices have value): ");
-// sb.append(location.getDirection());// 方向
-// sb.append("\nlocationdescribe: ");
-// sb.append(location.getLocationDescribe());// 位置语义化信息
-// sb.append("\nPoi: ");// POI信息
-// if (location.getPoiList() != null && !location.getPoiList().isEmpty()) {
-// for (int i = 0; i < location.getPoiList().size(); i++) {
-// Poi poi = (Poi) location.getPoiList().get(i);
-// sb.append("poiName:");
-// sb.append(poi.getName() + ", ");
-// sb.append("poiTag:");
-// sb.append(poi.getTags() + "\n");
-// }
-// }
-// if (location.getPoiRegion() != null) {
-// sb.append("PoiRegion: ");// 返回定位位置相对poi的位置关系,仅在开发者设置需要POI信息时才会返回,在网络不通或无法获取时有可能返回null
-// PoiRegion poiRegion = location.getPoiRegion();
-// sb.append("DerectionDesc:"); // 获取POIREGION的位置关系,ex:"内"
-// sb.append(poiRegion.getDerectionDesc() + "; ");
-// sb.append("Name:"); // 获取POIREGION的名字字符串
-// sb.append(poiRegion.getName() + "; ");
-// sb.append("Tags:"); // 获取POIREGION的类型
-// sb.append(poiRegion.getTags() + "; ");
-// sb.append("\nSDK版本: ");
-// }
-//// int permission = checkPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION);
-//// sb.append("\npermsission: " + permission);
-//// sb.append(locationService.getSDKVersion()); // 获取SDK版本
-// if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
-// sb.append("\nspeed : ");
-// sb.append(location.getSpeed());// 速度 单位:km/h
-// sb.append("\nsatellite : ");
-// sb.append(location.getSatelliteNumber());// 卫星数目
-// sb.append("\nheight : ");
-// sb.append(location.getAltitude());// 海拔高度 单位:米
-// sb.append("\ngps status : ");
-// sb.append(location.getGpsAccuracyStatus());// *****gps质量判断*****
-// sb.append("\ndescribe : ");
-// sb.append("gps定位成功");
-// } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
-// // 运营商信息
-// if (location.hasAltitude()) {// *****如果有海拔高度*****
-// sb.append("\nheight : ");
-// sb.append(location.getAltitude());// 单位:米
-// }
-// sb.append("\noperationers : ");// 运营商信息
-// sb.append(location.getOperators());
-// sb.append("\ndescribe : ");
-// sb.append("网络定位成功");
-// } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
-// sb.append("\ndescribe : ");
-// sb.append("离线定位成功,离线定位结果也是有效的");
-// } else if (location.getLocType() == BDLocation.TypeServerError) {
-// sb.append("\ndescribe : ");
-// sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
-// } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
-// sb.append("\ndescribe : ");
-// sb.append("网络不同导致定位失败,请检查网络是否通畅");
-// } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
-// sb.append("\ndescribe : ");
-// sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
-// }
-//// logMsg(sb.toString(), tag);
-// Log.e(TAG, "onReceiveLocation: " + sb);
-// }
- Log.e(TAG, "AmapAddress: " + mCacheHelper.getAsString(ADDRESS_KEY));
- Log.e(TAG, "AmapError: " + mCacheHelper.getAsString(ERROR_KEY));
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-network");
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-gps");
- Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ASSISTED_GPS_ENABLED, 0);
- }
-
- @Override
- public void onConnectHotSpotMessage(String s, int i) {
- super.onConnectHotSpotMessage(s, i);
- }
-
- /**
- * 回调定位诊断信息,开发者可以根据相关信息解决定位遇到的一些问题
- * @param locType 当前定位类型
- * @param diagnosticType 诊断类型(1~9)
- * @param diagnosticMessage 具体的诊断信息释义
- */
- @Override
- public void onLocDiagnosticMessage(int locType, int diagnosticType, String diagnosticMessage) {
- super.onLocDiagnosticMessage(locType, diagnosticType, diagnosticMessage);
-// int tag = 2;
- StringBuffer sb = new StringBuffer(256);
- sb.append("诊断结果: ");
- if (locType == BDLocation.TypeNetWorkLocation) {
- if (diagnosticType == 1) {
- sb.append("网络定位成功,没有开启GPS,建议打开GPS会更好");
- sb.append("\n" + diagnosticMessage);
- } else if (diagnosticType == 2) {
- sb.append("网络定位成功,没有开启Wi-Fi,建议打开Wi-Fi会更好");
- sb.append("\n" + diagnosticMessage);
- }
- } else if (locType == BDLocation.TypeOffLineLocationFail) {
- if (diagnosticType == 3) {
- sb.append("定位失败,请您检查您的网络状态");
- sb.append("\n" + diagnosticMessage);
- }
- } else if (locType == BDLocation.TypeCriteriaException) {
- if (diagnosticType == 4) {
- sb.append("定位失败,无法获取任何有效定位依据");
- sb.append("\n" + diagnosticMessage);
- } else if (diagnosticType == 5) {
- sb.append("定位失败,无法获取有效定位依据,请检查运营商网络或者Wi-Fi网络是否正常开启,尝试重新请求定位");
- sb.append(diagnosticMessage);
- } else if (diagnosticType == 6) {
- sb.append("定位失败,无法获取有效定位依据,请尝试插入一张sim卡或打开Wi-Fi重试");
- sb.append("\n" + diagnosticMessage);
- } else if (diagnosticType == 7) {
- sb.append("定位失败,飞行模式下无法获取有效定位依据,请关闭飞行模式重试");
- sb.append("\n" + diagnosticMessage);
- } else if (diagnosticType == 9) {
- sb.append("定位失败,无法获取任何有效定位依据");
- sb.append("\n" + diagnosticMessage);
- }
- } else if (locType == BDLocation.TypeServerError) {
- if (diagnosticType == 8) {
- sb.append("定位失败,请确认您定位的开关打开状态,是否赋予APP定位权限");
- sb.append("\n" + diagnosticMessage);
- }
- }
- Log.e(TAG, "onLocationChanged: " + "定位失败");
- mCacheHelper.put(ERROR_KEY, sb.toString());
- Log.e(TAG, "onLocDiagnosticMessage: " + sb);
-// logMsg(sb.toString(), tag);
- }
- };
-
-// public AMapLocationClient getLocationClient() {
-// if (null == locationClient) {
-// initAmap();
-// }
-// return locationClient;
-// }
-
-// public void initAmap() {
-// locationClient = new AMapLocationClient(mContext);
-// AMapLocationClientOption option = new AMapLocationClientOption();
-// option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
-// option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
-// option.setNeedAddress(true);
-// //获取一次定位结果:
-// //该方法默认为false。
-// option.setOnceLocation(true);
-// //获取最近3s内精度最高的一次定位结果:
-// //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。
-// // 如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
-// option.setOnceLocationLatest(true);
-// locationClient.setLocationOption(option);
-// //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
-// //设置定位监听
-// locationClient.setLocationListener(new AMapLocationListener() {
-//
-// @Override
-// public void onLocationChanged(AMapLocation aMapLocation) {
-// StringBuilder sb = new StringBuilder();
-// //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
-// if (aMapLocation.getErrorCode() == 0) {
-// Log.e(TAG, "onLocationChanged: " + "定位成功");
-// Log.e(TAG, "onLocationChanged: " + aMapLocation.getAddress());
-// sb.append(aMapLocation.getAddress()).append("\n");
-// mMMKV.encode( ADDRESS_KEY, aMapLocation.getAddress());
-// mMMKV.encode( LONGITUDE_KEY, aMapLocation.getLongitude());
-// mMMKV.encode( LATITUDE_KEY, aMapLocation.getLatitude());
-// mMMKV.encode( ERROR_KEY, "");
-// } else {
-// //定位失败
-// sb.append("定位失败" + "\n");
-// Log.e(TAG, "onLocationChanged: " + "定位失败");
-// mMMKV.encode( ERROR_KEY, String.valueOf(aMapLocation.getErrorInfo()));
-// }
-// Log.e(TAG, (String) SPUtils.get(mContext, ADDRESS_KEY, "-"));
-// Log.e(TAG, (String) SPUtils.get(mContext, ERROR_KEY, "-"));
-// Log.e(TAG, "amap: " + sb.toString());
-// }
-// });
-// //设置场景模式后最好调用一次stop,再调用start以保证场景模式生效
-// locationClient.stopLocation();
-// locationClient.startLocation();
-// Log.e(TAG, "initAmap: " + "startLocation");
-// }
-
-
-}
diff --git a/app/src/main/java/com/uiui/aios/manager/RemoteManager.java b/app/src/main/java/com/uiui/aios/manager/RemoteManager.java
new file mode 100644
index 0000000..40f592b
--- /dev/null
+++ b/app/src/main/java/com/uiui/aios/manager/RemoteManager.java
@@ -0,0 +1,165 @@
+package com.uiui.aios.manager;
+
+import android.annotation.SuppressLint;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.IBinder;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.tencent.mmkv.MMKV;
+import com.uiui.aios.bean.MapBean;
+import com.uiui.aios.config.CommonConfig;
+import com.uiui.aios.disklrucache.CacheHelper;
+import com.uiui.sn.IGetInfoInterface;
+
+import java.lang.reflect.Type;
+
+public class RemoteManager {
+ private static final String TAG = RemoteManager.class.getSimpleName();
+
+ @SuppressLint("StaticFieldLeak")
+ private static RemoteManager sInstance;
+ private Context mContext;
+ private MMKV mMMKV = MMKV.defaultMMKV();
+ private CacheHelper mCacheHelper;
+
+ private IGetInfoInterface getInfoInterface;
+ private ServiceConnection mIGetInfoConnection;
+
+
+ private RemoteManager(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
+ this.mContext = context;
+ this.mCacheHelper = new CacheHelper(context);
+ mIGetInfoConnection = new ServiceConnection() {
+ @Override
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ Log.e(TAG, "onServiceConnected: mIGetInfoConnection");
+ getInfoInterface = IGetInfoInterface.Stub.asInterface(service);
+ getLocation();
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName name) {
+ Log.e(TAG, "onServiceDisconnected: mIGetInfoConnection");
+ getInfoInterface = null;
+ bindInfoService();
+ }
+ };
+ bindInfoService();
+ }
+
+ public static void init(Context context) {
+ if (sInstance == null) {
+ Log.e(TAG, "init: ");
+ sInstance = new RemoteManager(context);
+ }
+ }
+
+ public static RemoteManager getInstance() {
+ if (sInstance == null) {
+ throw new IllegalStateException("You must be init RemoteManager first");
+ }
+ return sInstance;
+ }
+
+ private void bindInfoService() {
+ if (getInfoInterface == null) {
+ //这是连接aidl服务的代码
+ Intent intent = new Intent();
+ intent.setAction("com.uiui.sn.IGetInfoInterface");
+ intent.setPackage("com.uiui.sn");
+ intent.setComponent(new ComponentName("com.uiui.sn", "com.uiui.sn.service.RemoteService"));
+ mContext.bindService(intent, mIGetInfoConnection, Context.BIND_AUTO_CREATE);
+ }
+ }
+
+ public void getLocation() {
+ if (getInfoInterface != null) {
+ try {
+ String jsonString = getInfoInterface.getMapResult();
+ mMMKV.encode(CommonConfig.MAP_LOCATION_JSON_KEY, jsonString);
+ } catch (Exception e) {
+ Log.e(TAG, "getMapResult: " + e.getMessage());
+ }
+ } else {
+ bindInfoService();
+ }
+ }
+
+ public MapBean getMapBean() {
+ String jsonString = mMMKV.decodeString(CommonConfig.MAP_LOCATION_JSON_KEY);
+ if (TextUtils.isEmpty(jsonString)) {
+ return null;
+ } else {
+ Gson gson = new Gson();
+ Type type = new TypeToken() {
+ }.getType();
+ MapBean mapBean = gson.fromJson(jsonString, type);
+ mMMKV.encode(CommonConfig.MAP_ADDRESS_KEY, mapBean.getAddress() + mapBean.getLocationDescribe());
+ mMMKV.encode(CommonConfig.MAP_LONGITUDE_KEY, mapBean.getLongitude());
+ mMMKV.encode(CommonConfig.MAP_LATITUDE_KEY, mapBean.getLatitude());
+ return mapBean;
+ }
+ }
+
+ public String getCity() {
+ MapBean mapBean = getMapBean();
+ if (mapBean == null) {
+ getLocation();
+ return "北京";
+ } else {
+ return mapBean.getCity();
+ }
+ }
+
+
+ public String getCityDistrict() {
+ MapBean mapBean = getMapBean();
+ if (mapBean == null) {
+ getLocation();
+ return "北京";
+ } else {
+ return mapBean.getCity() + "\t" + mapBean.getDistrict();
+ }
+ }
+
+ public double getLongitude() {
+ MapBean mapBean = getMapBean();
+ if (mapBean == null) {
+ getLocation();
+ return 0.0;
+ } else {
+ return mapBean.getLongitude();
+ }
+ }
+
+ public double getLatitude() {
+ MapBean mapBean = getMapBean();
+ if (mapBean == null) {
+ getLocation();
+ return 0.0;
+ } else {
+ return mapBean.getLatitude();
+ }
+ }
+
+ public String getLocationTude() {
+ MapBean mapBean = getMapBean();
+ if (mapBean == null) {
+ getLocation();
+ return "0.0";
+ } else {
+ return mapBean.getLongitude() + "," + mapBean.getLatitude();
+ }
+ }
+
+
+}
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 c44a540..686c21b 100644
--- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java
@@ -182,7 +182,7 @@ public class NetInterfaceManager {
public Observable>> getAlarmClockObservable() {
return mRetrofit
.create(AlarmClockApi.class)
- .getAlarmClockApiApi(Utils.getSerial())
+ .getAlarmClock(Utils.getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
diff --git a/app/src/main/java/com/uiui/aios/network/api/AlarmClockApi.java b/app/src/main/java/com/uiui/aios/network/api/AlarmClockApi.java
index ad5e53d..71543fc 100644
--- a/app/src/main/java/com/uiui/aios/network/api/AlarmClockApi.java
+++ b/app/src/main/java/com/uiui/aios/network/api/AlarmClockApi.java
@@ -12,7 +12,7 @@ import retrofit2.http.Query;
public interface AlarmClockApi {
@GET(URLAddress.GET_ALARM_CLOCK)
- Observable>> getAlarmClockApiApi(
+ Observable>> getAlarmClock(
@Query("sn") String sn
);
}
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 7ed83ed..bd097cd 100644
--- a/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java
+++ b/app/src/main/java/com/uiui/aios/receiver/BootReceiver.java
@@ -70,11 +70,10 @@ public class BootReceiver extends BroadcastReceiver {
default:
break;
case BOOT_COMPLETED:
- NetInterfaceManager.getInstance().getAlarmClock();
- Intent alarmIntent = new Intent(MessageReceiver.SET_ALARMCLOCK);
- context.sendBroadcast(alarmIntent);
+// NetInterfaceManager.getInstance().getAlarmClock();
+// Intent alarmIntent = new Intent(MessageReceiver.SET_ALARMCLOCK);
+// context.sendBroadcast(alarmIntent);
case Intent.ACTION_BOOT_COMPLETED:
-
break;
case Intent.ACTION_BATTERY_CHANGED:
case Intent.ACTION_BATTERY_LOW:
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 55045fe..ce72fcc 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
@@ -50,8 +50,7 @@ import okhttp3.RequestBody;
public class MainService extends BaseService implements MainSContact.MainSView, NetworkUtils.OnNetworkStatusChangedListener {
private static final String TAG = MainService.class.getSimpleName();
- @SuppressLint("StaticFieldLeak")
- public static MainSPresenter mPresenter;
+ public MainSPresenter mPresenter;
public MainService() {
@@ -64,7 +63,9 @@ public class MainService extends BaseService implements MainSContact.MainSView,
@Override
public void onConnected(NetworkUtils.NetworkType networkType) {
- mPresenter.getAlarmClock();
+ if (isScreenOn()) {
+ mPresenter.getAlarmClock();
+ }
}
@Override
@@ -73,7 +74,6 @@ public class MainService extends BaseService implements MainSContact.MainSView,
return null;
}
-
@Override
public void onCreate() {
super.onCreate();
@@ -117,6 +117,12 @@ public class MainService extends BaseService implements MainSContact.MainSView,
}
+ public boolean isScreenOn() {
+ PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ //true为打开,false为关闭
+ return powerManager.isInteractive();
+ }
+
public static final String ALARMWAKEUP = "ALARM_WAKEUP";
private void registerAlarmReceiver() {
@@ -417,7 +423,7 @@ public class MainService extends BaseService implements MainSContact.MainSView,
@Download.onTaskComplete
void taskComplete(DownloadTask task) {
//在这里处理任务完成的状态
- Log.e(TAG, "taskComplete: "+task.getFilePath() );
+ Log.e(TAG, "taskComplete: " + task.getFilePath());
}
@Download.onTaskFail
diff --git a/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
index 2fc1cbb..9550608 100644
--- a/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
+++ b/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
@@ -16,6 +16,7 @@ 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.aios.network.NetInterfaceManager;
import com.uiui.aios.service.main.MainService;
import com.uiui.aios.tpush.common.NotificationService;
import com.uiui.aios.tpush.po.XGNotification;
@@ -309,6 +310,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
switch (title) {
case JIGUANG_ALARM_CLOCK:
ToastUtil.betaShow("收到推送消息: 设置闹钟");
+ NetInterfaceManager.getInstance().getAlarmClock();
Intent intent = new Intent(SET_ALARMCLOCK);
mContext.sendBroadcast(intent);
break;
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 cfd243e..a50c7b0 100644
--- a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java
+++ b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java
@@ -231,7 +231,7 @@ public class ApkUtils {
}
}
DesktopIcon familyIcon = new DesktopIcon();
- familyIcon.setIcon(context.getDrawable(R.drawable.family_space));
+ familyIcon.setIcon(context.getDrawable(R.drawable.icon_family_space));
familyIcon.setLable("家庭空间");
familyIcon.setPackageName("aios.family");
desktopIcons.add(0, familyIcon);
@@ -343,6 +343,8 @@ public class ApkUtils {
ComponentName cn = new ComponentName(packageName, className);
Intent intent = new Intent();
intent.setComponent(cn);
+ intent.addCategory(Intent.CATEGORY_LAUNCHER);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (context != null) {
context.startActivity(intent);
return true;
diff --git a/app/src/main/res/drawable-hdpi/default_head.png b/app/src/main/res/drawable-hdpi/default_head.png
index fd9bca2..4dc3c83 100644
Binary files a/app/src/main/res/drawable-hdpi/default_head.png and b/app/src/main/res/drawable-hdpi/default_head.png differ
diff --git a/app/src/main/res/drawable-hdpi/family_space.png b/app/src/main/res/drawable-hdpi/icon_family_space.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/family_space.png
rename to app/src/main/res/drawable-hdpi/icon_family_space.png
diff --git a/app/src/main/res/layout-land/activity_code.xml b/app/src/main/res/layout-land/activity_family_space.xml
similarity index 96%
rename from app/src/main/res/layout-land/activity_code.xml
rename to app/src/main/res/layout-land/activity_family_space.xml
index f97bda8..90bf84c 100644
--- a/app/src/main/res/layout-land/activity_code.xml
+++ b/app/src/main/res/layout-land/activity_family_space.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".activity.code.HealthCodeActivity">
+ tools:context=".activity.code.FamilySpaceActivity">
diff --git a/app/src/main/res/layout-port/activity_code.xml b/app/src/main/res/layout-port/activity_family_space.xml
similarity index 96%
rename from app/src/main/res/layout-port/activity_code.xml
rename to app/src/main/res/layout-port/activity_family_space.xml
index f97bda8..90bf84c 100644
--- a/app/src/main/res/layout-port/activity_code.xml
+++ b/app/src/main/res/layout-port/activity_family_space.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".activity.code.HealthCodeActivity">
+ tools:context=".activity.code.FamilySpaceActivity">