diff --git a/app/build.gradle b/app/build.gradle
index 2e942a4..e04528c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -15,8 +15,8 @@ android {
applicationId "com.uiuios.aios"
minSdkVersion 24
targetSdkVersion 29
- versionCode 46
- versionName "5.5"
+ versionCode 47
+ versionName "5.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -27,8 +27,7 @@ android {
}
manifestPlaceholders = [
- XG_ACCESS_ID : "1500033697",
- XG_ACCESS_KEY: "A0PFUHEPEKKM",
+ AMAP_KEY : "372937d213ff288dc150c31967a200cd"
]
}
@@ -59,89 +58,9 @@ android {
keyPassword "123456"
v2SigningEnabled false
}
-
- zhanRui {
- storeFile file("keystore/zhanxun.keystore")
- storePassword "123456"
- keyAlias "zhanxun"
- keyPassword "123456"
- v1SigningEnabled true
- v2SigningEnabled true
- }
-
- mtk {
- storeFile file("keystore/xueshibaoos.jks")
- storePassword "123456"
- keyAlias "xueshibaoos"
- keyPassword "123456"
- v2SigningEnabled false
- }
-
- mtk12 {
- storeFile file("keystore/mtkAndroid12.keystore")
- storePassword "123456"
- keyAlias "mtk12"
- keyPassword "123456"
- v1SigningEnabled true
- v2SigningEnabled true
- }
-
- MTK8183 {
- storeFile file("keystore/TeclastMTK12.jks")
- storePassword "123456"
- keyAlias "teclastmtk12"
- keyPassword "123456"
- v1SigningEnabled true
- v2SigningEnabled true
- }
-
- G10P {
- storeFile file("keystore/G10PMTK11.jks")
- storePassword "123456"
- keyAlias "G10PMTK11"
- keyPassword "123456"
- v1SigningEnabled true
- v2SigningEnabled true
- }
}
buildTypes {
-// MTK8183Debug.initWith(debug)
-// MTK8183Debug {
-// versionNameSuffix "-debug"
-// debuggable true
-// signingConfig signingConfigs.MTK8183
-// }
-//
-// MTK8183Release.initWith(release)
-// MTK8183Release {
-// signingConfig signingConfigs.MTK8183
-// }
-//
-// G10PDebug.initWith(debug)
-// G10PDebug {
-// versionNameSuffix "-debug"
-// debuggable true
-// signingConfig signingConfigs.G10P
-// }
-//
-// G10PRelease.initWith(release)
-// G10PRelease {
-// signingConfig signingConfigs.G10P
-// }
-//
-// zhanRuiRelease.initWith(release)
-// zhanRuiRelease {
-// signingConfig signingConfigs.zhanRui
-// }
-//
-// zhanRuiDebug.initWith(debug)
-// zhanRuiDebug {
-// versionNameSuffix "-debug"
-// debuggable true
-// signingConfig signingConfigs.zhanRui
-// }
-
debug {
// 显示Log
versionNameSuffix "-debug"
@@ -237,8 +156,12 @@ dependencies {
//bindView
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
+ implementation 'com.jakewharton.rxbinding4:rxbinding:4.0.0'
+ implementation 'com.jeremyliao:live-event-bus-x:1.7.3'
implementation 'com.facebook.rebound:rebound:0.3.8'
+ //高德地图定位
+ implementation 'com.amap.api:location:5.1.0'
//百度地图
// implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
//MMKV
diff --git a/app/keystore/G10PMTK11.jks b/app/keystore/G10PMTK11.jks
deleted file mode 100644
index 324fa31..0000000
Binary files a/app/keystore/G10PMTK11.jks and /dev/null differ
diff --git a/app/keystore/TeclastMTK12.jks b/app/keystore/TeclastMTK12.jks
deleted file mode 100644
index 669cfa9..0000000
Binary files a/app/keystore/TeclastMTK12.jks and /dev/null differ
diff --git a/app/keystore/mtkAndroid12.keystore b/app/keystore/mtkAndroid12.keystore
deleted file mode 100644
index 860f30f..0000000
Binary files a/app/keystore/mtkAndroid12.keystore and /dev/null differ
diff --git a/app/keystore/xueshibaoos.jks b/app/keystore/xueshibaoos.jks
deleted file mode 100644
index b94a626..0000000
Binary files a/app/keystore/xueshibaoos.jks and /dev/null differ
diff --git a/app/keystore/zhanxun.keystore b/app/keystore/zhanxun.keystore
deleted file mode 100644
index 7c46fbc..0000000
Binary files a/app/keystore/zhanxun.keystore and /dev/null differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 040bd19..cae341c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -28,6 +28,8 @@
+
+
@@ -68,6 +70,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ android:name="com.amap.api.v2.apikey"
+ android:value="${AMAP_KEY}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
mGoodsTypeMap;
- /**
- * 设置布局
- */
- @Override
- protected int getLayoutId() {
- return R.layout.activity_goods;
- }
- /**
- * @return 是否是黑色状态栏
- */
@Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
@Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_goods);
}
/**
@@ -67,7 +57,6 @@ public class GoodsActivity extends BaseDataBindingActivity {
*/
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
mBinding.setListener(new Listener());
// UltimateBarX.statusBarOnly(this)
// .transparent()
diff --git a/app/src/main/java/com/uiuios/aios/activity/InfoListActivity.java b/app/src/main/java/com/uiuios/aios/activity/InfoListActivity.java
index 69262a2..28cc641 100644
--- a/app/src/main/java/com/uiuios/aios/activity/InfoListActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/InfoListActivity.java
@@ -4,15 +4,15 @@ import android.util.Log;
import android.view.View;
import android.widget.ImageView;
+import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
-import com.trello.rxlifecycle4.android.FragmentEvent;
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.ArticleAdapter;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.ArticleInfo;
import com.uiuios.aios.bean.ArticleList;
import com.uiuios.aios.bean.BaseResponse;
@@ -27,7 +27,7 @@ import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
-public class InfoListActivity extends BaseActivity {
+public class InfoListActivity extends BaseDataBindingActivity {
@BindView(R.id.iv_back)
ImageView iv_back;
@BindView(R.id.iv1)
@@ -38,28 +38,8 @@ public class InfoListActivity extends BaseActivity {
private ArticleAdapter mArticleAdapter;
@Override
- public int getLayoutId() {
- UltimateBarX.statusBar(this)
- .transparent()
- .colorRes(R.color.colorPrimaryDark)
- .light(true)
- .apply();
- UltimateBarX.navigationBar(this)
- .transparent()
- .colorRes(R.color.colorPrimaryDark)
- .light(true)
- .apply();
- return R.layout.activity_info_list;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this,R.layout.activity_info_list);
}
@Override
diff --git a/app/src/main/java/com/uiuios/aios/activity/InformationActivity.java b/app/src/main/java/com/uiuios/aios/activity/InformationActivity.java
index 94a2a64..ca3b016 100644
--- a/app/src/main/java/com/uiuios/aios/activity/InformationActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/InformationActivity.java
@@ -50,31 +50,18 @@ public class InformationActivity extends BaseDataBindingActivity {
private HashMap mCategoryMap;
- /**
- * 设置布局
- */
@Override
- protected int getLayoutId() {
- return R.layout.activity_information;
- }
-
- /**
- * @return 是否是黑色状态栏
- */
- @Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
-
@Override
- protected boolean setfitWindow() {
- return false;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_information);
}
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
ButterKnife.bind(this);
// UltimateBarX.statusBarOnly(this)
// .transparent()
diff --git a/app/src/main/java/com/uiuios/aios/activity/InformationDetailsActivity.java b/app/src/main/java/com/uiuios/aios/activity/InformationDetailsActivity.java
index c67d91f..29edaad 100644
--- a/app/src/main/java/com/uiuios/aios/activity/InformationDetailsActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/InformationDetailsActivity.java
@@ -11,30 +11,17 @@ import com.uiuios.aios.databinding.ActivityInfoDetailsBinding;
public class InformationDetailsActivity extends BaseDataBindingActivity {
-// @BindView(R.id.tv_title)
-// TextView tv_title;
-// @BindView(R.id.tv_time)
-// TextView tv_time;
-// @BindView(R.id.niceImageView)
-// NiceImageView niceImageView;
-// @BindView(R.id.tv_content)
-// TextView tv_content;
-
private ActivityInfoDetailsBinding mBinding;
- @Override
- protected int getLayoutId() {
- return R.layout.activity_info_details;
- }
@Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
@Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_info_details);
}
/**
@@ -42,7 +29,6 @@ public class InformationDetailsActivity extends BaseDataBindingActivity {
*/
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
}
diff --git a/app/src/main/java/com/uiuios/aios/activity/OrderActivity.java b/app/src/main/java/com/uiuios/aios/activity/OrderActivity.java
index 602988d..e4d7709 100644
--- a/app/src/main/java/com/uiuios/aios/activity/OrderActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/OrderActivity.java
@@ -63,19 +63,15 @@ public class OrderActivity extends BaseDataBindingActivity {
ActivityResultLauncher launcher;
- @Override
- protected int getLayoutId() {
- return R.layout.activity_order;
- }
@Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
@Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_order);
}
/**
@@ -83,7 +79,6 @@ public class OrderActivity extends BaseDataBindingActivity {
*/
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() {
@Override
public void onActivityResult(ActivityResult result) {
@@ -186,19 +181,6 @@ public class OrderActivity extends BaseDataBindingActivity {
GoodsInfo goodsInfo = (GoodsInfo) intent.getSerializableExtra("GoodsInfo");
if (goodsInfo == null) return;
- mAddressId = mMMKV.decodeInt(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, -1);
- Log.e(TAG, "initData: mAddressId = " + mAddressId);
- String addressJson = mMMKV.decodeString(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, "");
- Gson gson = new Gson();
- Type type = new TypeToken() {
- }.getType();
- mAddressInfo = gson.fromJson(addressJson, type);
- if (mAddressInfo != null) {
- mBinding.setAddressInfo(mAddressInfo);
- String area = mAddressInfo.getArea();
- List areaList = new ArrayList<>(Arrays.asList(area.split(",")));
- mBinding.tvAddress.setText(String.join(" ", areaList) + " " + mAddressInfo.getAddress());
- }
mGoodsInfo = goodsInfo;
mBinding.setGoodsInfo(mGoodsInfo);
mBinding.tvPrice.setText("券后¥" + mGoodsInfo.getBuying_price());
@@ -212,6 +194,69 @@ public class OrderActivity extends BaseDataBindingActivity {
creactOrder();
}
});
+ getAdrress();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mAddressId = mMMKV.decodeInt(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, -1);
+ Log.e(TAG, "initData: mAddressId = " + mAddressId);
+ String addressJson = mMMKV.decodeString(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, "");
+ Gson gson = new Gson();
+ Type type = new TypeToken() {
+ }.getType();
+ mAddressInfo = gson.fromJson(addressJson, type);
+ if (mAddressInfo != null) {
+ mBinding.setAddressInfo(mAddressInfo);
+ String area = mAddressInfo.getArea();
+ List areaList = new ArrayList<>(Arrays.asList(area.split(",")));
+ mBinding.tvAddress.setText(String.join(" ", areaList) + " " + mAddressInfo.getAddress());
+ }
+
+ }
+
+ private void getAdrress() {
+ NetInterfaceManager.getInstance().getAddressIndexObservable()
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("getAddressIndexObservable", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> listBaseResponse) {
+ Log.e("getAddressIndexObservable", "onNext: " + listBaseResponse);
+ if (listBaseResponse.code == 200) {
+ List addressInfos = listBaseResponse.data;
+ if (addressInfos != null && addressInfos.size() != 0) {
+ AddressInfo defaultAddressInfo = addressInfos.get(0);
+ mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, defaultAddressInfo.getId());
+ mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, GsonUtils.toJSONString(defaultAddressInfo));
+ mAddressInfo = defaultAddressInfo;
+ mAddressId = mAddressInfo.getId();
+ mBinding.setAddressInfo(mAddressInfo);
+ String area = mAddressInfo.getArea();
+ List areaList = new ArrayList<>(Arrays.asList(area.split(",")));
+ mBinding.tvAddress.setText(String.join(" ", areaList) + " " + mAddressInfo.getAddress());
+ } else {
+ Toaster.show("没有获取到收货地址");
+ }
+ } else {
+ Toaster.show("没有获取到收货地址");
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getAddressIndexObservable", "onError: ");
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getAddressIndexObservable", "onComplete: ");
+ }
+ });
}
private void creactOrder() {
@@ -241,7 +286,7 @@ public class OrderActivity extends BaseDataBindingActivity {
intent1.putExtra("OrderBean", orderBean);
startActivity(intent1);
} else {
- Toaster.show("下单失败");
+ Toaster.show(baseResponse.msg);
}
}
diff --git a/app/src/main/java/com/uiuios/aios/activity/OrderListActivity.java b/app/src/main/java/com/uiuios/aios/activity/OrderListActivity.java
index c87c0d7..2b8ac63 100644
--- a/app/src/main/java/com/uiuios/aios/activity/OrderListActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/OrderListActivity.java
@@ -31,18 +31,13 @@ public class OrderListActivity extends BaseDataBindingActivity {
private OrderAdapter mOrderAdapter;
@Override
- protected int getLayoutId() {
- return R.layout.activity_order_list;
- }
-
- @Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
@Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_order_list);
}
/**
@@ -50,7 +45,6 @@ public class OrderListActivity extends BaseDataBindingActivity {
*/
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
mOrderAdapter = new OrderAdapter();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
diff --git a/app/src/main/java/com/uiuios/aios/activity/PayActivity.java b/app/src/main/java/com/uiuios/aios/activity/PayActivity.java
index be883a8..c95f6ff 100644
--- a/app/src/main/java/com/uiuios/aios/activity/PayActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/PayActivity.java
@@ -36,19 +36,15 @@ public class PayActivity extends BaseDataBindingActivity {
private OrderBean mOrderBean;
- @Override
- protected int getLayoutId() {
- return R.layout.activity_pay;
- }
@Override
- protected boolean setNightMode() {
+ public boolean setNightMode() {
return true;
}
@Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ mBinding = DataBindingUtil.setContentView(this, R.layout.activity_pay);
}
/**
@@ -56,7 +52,6 @@ public class PayActivity extends BaseDataBindingActivity {
*/
@Override
public void initView() {
- mBinding = DataBindingUtil.setContentView(this, getLayoutId());
mBinding.tvRefresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/uiuios/aios/activity/QuickAppActivity.java b/app/src/main/java/com/uiuios/aios/activity/QuickAppActivity.java
index 89588a7..90fdc04 100644
--- a/app/src/main/java/com/uiuios/aios/activity/QuickAppActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/QuickAppActivity.java
@@ -5,13 +5,14 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
+import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.AppSelectedAdapter;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.AppSelectBean;
import com.uiuios.aios.view.GridSpaceItemDecoration;
@@ -21,7 +22,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class QuickAppActivity extends BaseActivity {
+public class QuickAppActivity extends BaseDataBindingActivity {
private static final String TAG = QuickAppActivity.class.getSimpleName();
public static final String QUICK_APP_KEY = "QuickAppPackageKey";
@@ -34,18 +35,8 @@ public class QuickAppActivity extends BaseActivity {
RecyclerView recyclerView;
@Override
- public int getLayoutId() {
- return R.layout.activity_quick_app;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this,R.layout.activity_quick_app);
}
@Override
diff --git a/app/src/main/java/com/uiuios/aios/activity/ScreenLockActivity.java b/app/src/main/java/com/uiuios/aios/activity/ScreenLockActivity.java
index 306ac97..3f9ba75 100644
--- a/app/src/main/java/com/uiuios/aios/activity/ScreenLockActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/ScreenLockActivity.java
@@ -16,17 +16,18 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
+import androidx.databinding.DataBindingUtil;
import com.tuo.customview.VerificationCodeView;
import com.uiuios.aios.R;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.manager.RemoteManager;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class ScreenLockActivity extends BaseActivity {
+public class ScreenLockActivity extends BaseDataBindingActivity {
private static final String TAG = ScreenLockActivity.class.getSimpleName();
@@ -86,18 +87,8 @@ public class ScreenLockActivity extends BaseActivity {
}
@Override
- public int getLayoutId() {
- return R.layout.activity_screen_lock;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this,R.layout.activity_screen_lock);
}
@Override
diff --git a/app/src/main/java/com/uiuios/aios/activity/SpikeListActivity.java b/app/src/main/java/com/uiuios/aios/activity/SpikeListActivity.java
index 8a33f64..6f3e478 100644
--- a/app/src/main/java/com/uiuios/aios/activity/SpikeListActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/SpikeListActivity.java
@@ -4,15 +4,15 @@ import android.util.Log;
import android.view.View;
import android.widget.ImageView;
+import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiuios.aios.R;
-import com.uiuios.aios.adapter.GoodsAdapter;
import com.uiuios.aios.adapter.GoodsListAdapter;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.GoodsInfo;
import com.uiuios.aios.bean.GoodsList;
@@ -27,7 +27,7 @@ import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
-public class SpikeListActivity extends BaseActivity {
+public class SpikeListActivity extends BaseDataBindingActivity {
@BindView(R.id.recyclerView)
RecyclerView recyclerView;
@BindView(R.id.iv1)
@@ -37,31 +37,9 @@ public class SpikeListActivity extends BaseActivity {
private GoodsListAdapter mGoodsAdapter;
-
@Override
- public int getLayoutId() {
- getLifecycleSubject().onNext(ActivityEvent.CREATE);
- UltimateBarX.statusBar(this)
- .transparent()
- .colorRes(R.color.colorPrimaryDark)
- .light(true)
- .apply();
- UltimateBarX.navigationBar(this)
- .transparent()
- .colorRes(R.color.colorPrimaryDark)
- .light(true)
- .apply();
- return R.layout.activity_spike_list;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this,R.layout.activity_spike_list);
}
@Override
diff --git a/app/src/main/java/com/uiuios/aios/activity/SplashActivity.java b/app/src/main/java/com/uiuios/aios/activity/SplashActivity.java
index 56012b2..816921a 100644
--- a/app/src/main/java/com/uiuios/aios/activity/SplashActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/SplashActivity.java
@@ -3,31 +3,20 @@ package com.uiuios.aios.activity;
import android.content.Intent;
import android.os.Handler;
+import androidx.databinding.DataBindingUtil;
+
import com.uiuios.aios.R;
import com.uiuios.aios.activity.main.MainActivity;
import com.uiuios.aios.activity.main.PhoneMainActivity;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.utils.Utils;
-public class SplashActivity extends BaseActivity {
-
- /**
- * 设置布局
- */
- @Override
- public int getLayoutId() {
- return R.layout.activity_splash;
- }
+public class SplashActivity extends BaseDataBindingActivity {
@Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this, R.layout.activity_splash);
}
/**
diff --git a/app/src/main/java/com/uiuios/aios/activity/alarm/AlarmActivity.java b/app/src/main/java/com/uiuios/aios/activity/alarm/AlarmActivity.java
index 69e5481..bf72e7f 100644
--- a/app/src/main/java/com/uiuios/aios/activity/alarm/AlarmActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/alarm/AlarmActivity.java
@@ -7,6 +7,7 @@ import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -18,12 +19,11 @@ import com.uiuios.aios.activity.alarmclock.AlarmClockAddActivity;
import com.uiuios.aios.alarm.AlarmAdapter;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.alarm.AlarmUtils;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.dialog.DeleteDialog;
import com.uiuios.aios.network.NetInterfaceManager;
-
import java.util.List;
import butterknife.BindView;
@@ -31,7 +31,7 @@ import butterknife.ButterKnife;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
-public class AlarmActivity extends BaseActivity implements AlarmContact.AlarmView {
+public class AlarmActivity extends BaseDataBindingActivity implements AlarmContact.AlarmView {
private static final String TAG = AlarmActivity.class.getSimpleName();
@BindView(R.id.cl_exit)
@@ -74,23 +74,11 @@ public class AlarmActivity extends BaseActivity implements AlarmContact.AlarmVie
private AlarmAdapter mAlarmAdapter;
private int mType = 0;
- /**
- * 设置布局
- */
@Override
- public int getLayoutId() {
- return R.layout.activity_alarm;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this, R.layout.activity_alarm);
}
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
- }
/**
* 初始化视图
*/
diff --git a/app/src/main/java/com/uiuios/aios/activity/alarm/port/PortAlarmActivity.java b/app/src/main/java/com/uiuios/aios/activity/alarm/port/PortAlarmActivity.java
index 3173b12..a76643b 100644
--- a/app/src/main/java/com/uiuios/aios/activity/alarm/port/PortAlarmActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/alarm/port/PortAlarmActivity.java
@@ -43,12 +43,7 @@ public class PortAlarmActivity extends BaseMvvmActivity soundMap = new HashMap<>();
@Override
- public int getLayoutId() {
- return R.layout.activity_dialer;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this,R.layout.activity_dialer);
}
@Override
diff --git a/app/src/main/java/com/uiuios/aios/activity/location/LocationAcivity.java b/app/src/main/java/com/uiuios/aios/activity/location/LocationAcivity.java
index b5c6a3e..0c37220 100644
--- a/app/src/main/java/com/uiuios/aios/activity/location/LocationAcivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/location/LocationAcivity.java
@@ -15,17 +15,17 @@ import android.widget.EditText;
import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.CityAdapter;
import com.uiuios.aios.adapter.DistrictAdapter;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.AddressBean;
-import com.uiuios.aios.manager.RemoteManager;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.view.RecyclerViewSpacesItemDecoration;
import java.util.ArrayList;
@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class LocationAcivity extends BaseActivity implements LocationContact.LocationView, CityAdapter.CityCallback, DistrictAdapter.DistrictCallback {
+public class LocationAcivity extends BaseDataBindingActivity implements LocationContact.LocationView, CityAdapter.CityCallback, DistrictAdapter.DistrictCallback {
@BindView(R.id.bg)
ConstraintLayout bg;
@@ -80,22 +80,9 @@ public class LocationAcivity extends BaseActivity implements LocationContact.Loc
private List mDistrict;
private AddressBean mAddressBean;
- /**
- * 设置布局
- */
@Override
- public int getLayoutId() {
- return R.layout.activity_location;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
- @Override
- protected boolean setfitWindow() {
- return true;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this, R.layout.activity_location);
}
/**
@@ -122,7 +109,7 @@ public class LocationAcivity extends BaseActivity implements LocationContact.Loc
cl_location.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- mAddressBean = new AddressBean(RemoteManager.getInstance().getDistrict());
+ mAddressBean = new AddressBean(AmapManager.getInstance().getDistrict());
setIntent();
}
});
diff --git a/app/src/main/java/com/uiuios/aios/activity/main/BaseMainActivity.java b/app/src/main/java/com/uiuios/aios/activity/main/BaseMainActivity.java
index d3be8a3..f6acd3d 100644
--- a/app/src/main/java/com/uiuios/aios/activity/main/BaseMainActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/main/BaseMainActivity.java
@@ -36,7 +36,7 @@ import com.hjq.permissions.XXPermissions;
import com.hjq.toast.Toaster;
import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.R;
-import com.uiuios.aios.base.BaseActivity;
+import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.base.BaseFragmentPagerAdapter;
import com.uiuios.aios.bean.AlarmItem;
import com.uiuios.aios.bean.DesktopIcon;
@@ -45,6 +45,7 @@ import com.uiuios.aios.fragment.AppListFragment;
import com.uiuios.aios.fragment.ControlFragment;
import com.uiuios.aios.fragment.home.HomeFragment;
import com.uiuios.aios.fragment.second.SecondFragment;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.service.NotificationService;
import com.uiuios.aios.utils.ApkUtils;
@@ -62,7 +63,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
-public abstract class BaseMainActivity extends BaseActivity implements MainContact.MainView ,RemoteManager.ConnectedListener{
+public abstract class BaseMainActivity extends BaseDataBindingActivity implements MainContact.MainView, RemoteManager.ConnectedListener {
private static final String TAG = BaseMainActivity.class.getSimpleName();
private MainPresenter mMainPresenter;
@@ -88,11 +89,6 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
private int appListIndex = 3;
private int defaultCurrent = 2;
- @Override
- protected boolean setfitWindow() {
- return false;
- }
-
@Override
public void onConnected() {
setDefaultDesktop();
@@ -100,6 +96,8 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
@Override
public void initView() {
+ getLocationPermission();
+
ButterKnife.bind(this);
toggleNotificationListenerService(this);
mMainPresenter = new MainPresenter(this);
@@ -205,9 +203,8 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
@Override
public void initData() {
- registmNewAppReceiver();
- registerSOSNumberReceiver();
- registerUpdateDesktopReceiver();
+ registReceiver();
+
mAlarmServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
@@ -386,45 +383,86 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
Permission.WRITE_SETTINGS,
Permission.READ_CALL_LOG,
Permission.WRITE_CALL_LOG,
+ Permission.READ_CONTACTS,
+ Permission.WRITE_CONTACTS,
};
private void getPermission() {
XXPermissions.with(this)
// 申请单个权限
-// .permission(Permission.RECORD_AUDIO)
- // 申请多个权限
.permission(permission)
+ // 申请多个权限
+// .permission(Permission.Group.STORAGE)
// 设置权限请求拦截器(局部设置)
//.interceptor(new PermissionInterceptor())
// 设置不触发错误检测机制(局部设置)
//.unchecked()
.request(new OnPermissionCallback() {
-
@Override
public void onGranted(@NonNull List permissions, boolean allGranted) {
+ Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
if (!allGranted) {
Toaster.show("获取部分权限成功,但部分权限未正常授予");
return;
}
-// Toaster.show("获取录音和日历权限成功");
- Log.e(TAG, "onGranted: 获取存储权限成功");
+ Log.e(TAG, "onGranted: 获取权限成功");
addData();
}
@Override
public void onDenied(@NonNull List permissions, boolean doNotAskAgain) {
+ Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
if (doNotAskAgain) {
- Toaster.show("被永久拒绝授权,请手动授予存储权限");
+ Toaster.show("被永久拒绝授权,请手动授予权限");
// 如果是被永久拒绝就跳转到应用权限系统设置页面
XXPermissions.startPermissionActivity(BaseMainActivity.this, permissions);
} else {
-// Toaster.show("获取录音和日历权限失败");
- Log.e(TAG, "onGranted: 获取存储权限权限失败");
+ Log.e(TAG, "onGranted: 获取权限失败");
}
}
});
}
+ private String[] mLocationPermission = new String[]{
+ Permission.ACCESS_COARSE_LOCATION,
+ Permission.ACCESS_FINE_LOCATION,
+ Permission.ACCESS_BACKGROUND_LOCATION,
+ };
+
+ private void getLocationPermission() {
+ XXPermissions.with(this)
+ // 申请单个权限
+ .permission(mLocationPermission)
+ // 申请多个权限
+// .permission(Permission.Group.STORAGE)
+ // 设置权限请求拦截器(局部设置)
+ //.interceptor(new PermissionInterceptor())
+ // 设置不触发错误检测机制(局部设置)
+ //.unchecked()
+ .request(new OnPermissionCallback() {
+ @Override
+ public void onGranted(@NonNull List permissions, boolean allGranted) {
+ Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
+ if (!allGranted) {
+ Toaster.show("获取部分权限成功,但部分权限未正常授予");
+ return;
+ }
+ Log.e(TAG, "onGranted: 获取定位权限成功");
+ }
+
+ @Override
+ public void onDenied(@NonNull List permissions, boolean doNotAskAgain) {
+ Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
+// if (doNotAskAgain) {
+// Toaster.show("被永久拒绝授权,请手动授予定位权限");
+// // 如果是被永久拒绝就跳转到应用权限系统设置页面
+// XXPermissions.startPermissionActivity(BaseMainActivity.this, permissions);
+// } else {
+// Log.e(TAG, "onGranted: 获取定位权限失败");
+// }
+ }
+ });
+ }
private static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners";
@@ -474,8 +512,8 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
@Override
protected void onRestart() {
super.onRestart();
- mMainPresenter.sendAPPUsage();
- mMainPresenter.sendRunningInfo();
+// mMainPresenter.sendAPPUsage();
+// mMainPresenter.sendRunningInfo();
}
@Override
@@ -493,16 +531,11 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
protected void onDestroy() {
super.onDestroy();
mMainPresenter.detachView();
- if (mNewAppReceiver != null) {
- unregisterReceiver(mNewAppReceiver);
- }
- if (updateDesktopReceiver != null) {
- unregisterReceiver(updateDesktopReceiver);
- }
+ unregisterAllReceiver();
RemoteManager.removeListener(this);
}
- @Override
+ @Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
// super.onSaveInstanceState(outState);
}
@@ -512,7 +545,29 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
// super.onRestoreInstanceState(savedInstanceState);
}
- private void registmNewAppReceiver() {
+ private void registReceiver() {
+ registNewAppReceiver();
+ registerSOSNumberReceiver();
+ registerUpdateDesktopReceiver();
+ registmUpdateAddressReceiver();
+ }
+
+ private void unregisterAllReceiver() {
+ if (mNewAppReceiver != null) {
+ unregisterReceiver(mNewAppReceiver);
+ }
+ if (mSOSNumberReceiver != null) {
+ unregisterReceiver(mSOSNumberReceiver);
+ }
+ if (mUpdateDesktopReceiver != null) {
+ unregisterReceiver(mUpdateDesktopReceiver);
+ }
+ if (mUpdateAddressReceiver != null) {
+ unregisterReceiver(mUpdateAddressReceiver);
+ }
+ }
+
+ private void registNewAppReceiver() {
mNewAppReceiver = new NewAppReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
@@ -539,16 +594,16 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
}
}
- private SOSNumberReceiver sosNumberReceiver;
+ private SOSNumberReceiver mSOSNumberReceiver;
private void registerSOSNumberReceiver() {
- if (sosNumberReceiver == null) {
- sosNumberReceiver = new SOSNumberReceiver();
+ if (mSOSNumberReceiver == null) {
+ mSOSNumberReceiver = new SOSNumberReceiver();
}
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction("setting_sos");
- registerReceiver(sosNumberReceiver, filter);
+ registerReceiver(mSOSNumberReceiver, filter);
}
class SOSNumberReceiver extends BroadcastReceiver {
@@ -563,17 +618,17 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
public static final String ACTION_PACKAGE_HIDE = "com.uiui.aios.ACTION_PACKAGE_HIDE";
- private UpdateDesktopReceiver updateDesktopReceiver;
+ private UpdateDesktopReceiver mUpdateDesktopReceiver;
private void registerUpdateDesktopReceiver() {
- if (updateDesktopReceiver == null) {
- updateDesktopReceiver = new UpdateDesktopReceiver();
+ if (mUpdateDesktopReceiver == null) {
+ mUpdateDesktopReceiver = new UpdateDesktopReceiver();
}
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction("UPDATE_DESKTOP_ICON");
filter.addAction(ACTION_PACKAGE_HIDE);
- registerReceiver(updateDesktopReceiver, filter);
+ registerReceiver(mUpdateDesktopReceiver, filter);
}
class UpdateDesktopReceiver extends BroadcastReceiver {
@@ -585,6 +640,25 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
}
}
+ private UpdateAddressReceiver mUpdateAddressReceiver;
+
+ private void registmUpdateAddressReceiver() {
+ mUpdateAddressReceiver = new UpdateAddressReceiver();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(CommonConfig.UIUIAIOS_UPDATE_ADDRESS_ACTION);
+ registerReceiver(mUpdateAddressReceiver, filter);
+ }
+
+ class UpdateAddressReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (CommonConfig.UIUIAIOS_UPDATE_ADDRESS_ACTION.equals(action)) {
+ AmapManager.getInstance().startLocation();
+ }
+ }
+ }
+
@Override
public void setSystemSettings() {
// mMainPresenter.getDesktopLayout();
diff --git a/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java b/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java
index 952bc4b..6b34f8e 100644
--- a/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java
@@ -5,28 +5,24 @@ import android.os.Bundle;
import android.util.Log;
import androidx.annotation.Nullable;
+import androidx.databinding.DataBindingUtil;
import com.uiuios.aios.R;
public class MainActivity extends BaseMainActivity {
private static final String TAG = MainActivity.class.getSimpleName();
- @Override
- public int getLayoutId() {
- return R.layout.activity_main;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
- }
-
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e(TAG, "onCreate: ");
}
+ @Override
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this, R.layout.activity_main);
+ }
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
diff --git a/app/src/main/java/com/uiuios/aios/activity/main/PhoneMainActivity.java b/app/src/main/java/com/uiuios/aios/activity/main/PhoneMainActivity.java
index f223b02..d933893 100644
--- a/app/src/main/java/com/uiuios/aios/activity/main/PhoneMainActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/main/PhoneMainActivity.java
@@ -1,17 +1,14 @@
package com.uiuios.aios.activity.main;
+import androidx.databinding.DataBindingUtil;
+
import com.uiuios.aios.R;
public class PhoneMainActivity extends BaseMainActivity {
private static final String TAG = PhoneMainActivity.class.getSimpleName();
@Override
- public int getLayoutId() {
- return R.layout.phone_activity_main;
- }
-
- @Override
- protected boolean setNightMode() {
- return false;
+ protected void initDataBinding() {
+ DataBindingUtil.setContentView(this, R.layout.phone_activity_main);
}
}
diff --git a/app/src/main/java/com/uiuios/aios/activity/weather/WeatherActivity.java b/app/src/main/java/com/uiuios/aios/activity/weather/WeatherActivity.java
index ddcdadf..7807d8b 100644
--- a/app/src/main/java/com/uiuios/aios/activity/weather/WeatherActivity.java
+++ b/app/src/main/java/com/uiuios/aios/activity/weather/WeatherActivity.java
@@ -34,6 +34,7 @@ import com.uiuios.aios.bean.JsonBean;
import com.uiuios.aios.bean.MapGeoResult;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.databinding.ActivityWeatherBinding;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.utils.DataUtil;
import com.uiuios.aios.utils.TimeUtils;
@@ -94,16 +95,6 @@ public class WeatherActivity extends BaseMvvmActivity {
- public final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
+public abstract class BaseFragment extends BaseRxFragment {
protected boolean isViewInitiated;
protected boolean isVisibleToUser;
protected boolean isDataInitiated;
- @Override
- @NonNull
- @CheckResult
- public final Observable lifecycle() {
- return lifecycleSubject.hide();
- }
-
- @Override
- @NonNull
- @CheckResult
- public final LifecycleTransformer bindUntilEvent(@NonNull FragmentEvent event) {
- return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
- }
-
- @Override
- @NonNull
- @CheckResult
- public final LifecycleTransformer bindToLifecycle() {
- return RxLifecycleAndroid.bindFragment(lifecycleSubject);
- }
-
- @Override
- @CallSuper
- public void onAttach(android.app.Activity activity) {
- super.onAttach(activity);
- lifecycleSubject.onNext(FragmentEvent.ATTACH);
- }
-
- @Override
- @CallSuper
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- lifecycleSubject.onNext(FragmentEvent.CREATE);
- }
@Override
public void onActivityCreated(Bundle savedInstanceState) {
@@ -83,65 +34,11 @@ public abstract class BaseFragment extends Fragment implements LifecycleProvider
public boolean prepareFetchData(boolean forceUpdate) {
if (isVisibleToUser && isViewInitiated && (!isDataInitiated || forceUpdate)) {
fetchData();
+ //注释掉保证每次都更新数据
// isDataInitiated = true;
return true;
}
return false;
}
- @Override
- @CallSuper
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- lifecycleSubject.onNext(FragmentEvent.CREATE_VIEW);
- }
-
- @Override
- @CallSuper
- public void onStart() {
- super.onStart();
- lifecycleSubject.onNext(FragmentEvent.START);
- }
-
- @Override
- @CallSuper
- public void onResume() {
- super.onResume();
- lifecycleSubject.onNext(FragmentEvent.RESUME);
- }
-
- @Override
- @CallSuper
- public void onPause() {
- lifecycleSubject.onNext(FragmentEvent.PAUSE);
- super.onPause();
- }
-
- @Override
- @CallSuper
- public void onStop() {
- lifecycleSubject.onNext(FragmentEvent.STOP);
- super.onStop();
- }
-
- @Override
- @CallSuper
- public void onDestroyView() {
- lifecycleSubject.onNext(FragmentEvent.DESTROY_VIEW);
- super.onDestroyView();
- }
-
- @Override
- @CallSuper
- public void onDestroy() {
- lifecycleSubject.onNext(FragmentEvent.DESTROY);
- super.onDestroy();
- }
-
- @Override
- @CallSuper
- public void onDetach() {
- lifecycleSubject.onNext(FragmentEvent.DETACH);
- super.onDetach();
- }
}
diff --git a/app/src/main/java/com/uiuios/aios/base/BaseLazyFragment.java b/app/src/main/java/com/uiuios/aios/base/BaseLazyFragment.java
new file mode 100644
index 0000000..46d6253
--- /dev/null
+++ b/app/src/main/java/com/uiuios/aios/base/BaseLazyFragment.java
@@ -0,0 +1,100 @@
+package com.uiuios.aios.base;
+
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * Author: wangjie
+ * Email: tiantian.china.2@gmail.com
+ * Date: 1/23/15.
+ */
+public abstract class BaseLazyFragment extends Fragment {
+ private static final String TAG = BaseLazyFragment.class.getSimpleName();
+ private boolean isPrepared;
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ initPrepare();
+ }
+
+
+ /**
+ * 第一次onResume中的调用onUserVisible避免操作与onFirstUserVisible操作重复
+ */
+ private boolean isFirstResume = true;
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ if (isFirstResume) {
+ isFirstResume = false;
+ return;
+ }
+ if (getUserVisibleHint()) {
+ onUserVisible();
+ }
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (getUserVisibleHint()) {
+ onUserInvisible();
+ }
+ }
+
+ private boolean isFirstVisible = true;
+ private boolean isFirstInvisible = true;
+
+ @Override
+ public void setUserVisibleHint(boolean isVisibleToUser) {
+ super.setUserVisibleHint(isVisibleToUser);
+ if (isVisibleToUser) {
+ if (isFirstVisible) {
+ isFirstVisible = false;
+ initPrepare();
+ } else {
+ onUserVisible();
+ }
+ } else {
+ if (isFirstInvisible) {
+ isFirstInvisible = false;
+ onFirstUserInvisible();
+ } else {
+ onUserInvisible();
+ }
+ }
+ }
+
+ public synchronized void initPrepare() {
+ if (isPrepared) {
+ onFirstUserVisible();
+ } else {
+ isPrepared = true;
+ }
+ }
+
+ /**
+ * 第一次fragment可见(进行初始化工作)
+ */
+ public abstract void onFirstUserVisible();
+
+ /**
+ * fragment可见(切换回来或者onResume)
+ */
+ public abstract void onUserVisible();
+
+ /**
+ * 第一次fragment不可见(不建议在此处理事件)
+ */
+ public abstract void onFirstUserInvisible();
+
+ /**
+ * fragment不可见(切换掉或者onPause)
+ */
+ public abstract void onUserInvisible();
+
+}
diff --git a/app/src/main/java/com/uiuios/aios/base/BaseTransparentActivity.java b/app/src/main/java/com/uiuios/aios/base/BaseTransparentActivity.java
index fa9bc71..caea2ec 100644
--- a/app/src/main/java/com/uiuios/aios/base/BaseTransparentActivity.java
+++ b/app/src/main/java/com/uiuios/aios/base/BaseTransparentActivity.java
@@ -6,6 +6,7 @@ import androidx.annotation.CallSuper;
import androidx.annotation.Nullable;
import com.uiuios.aios.R;
+import com.uiuios.aios.base.rx.BaseRxActivity;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
public abstract class BaseTransparentActivity extends BaseRxActivity {
@@ -41,10 +42,16 @@ public abstract class BaseTransparentActivity extends BaseRxActivity {
/**
* @return 是否是黑色状态栏
*/
- protected abstract boolean setNightMode();
+// protected abstract boolean setNightMode();
+ public boolean setNightMode() {
+ return false;
+ }
/**
* @return 是否是入侵
*/
- protected abstract boolean setfitWindow();
+// protected abstract boolean setNightMode();
+ public boolean setfitWindow() {
+ return false;
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/uiuios/aios/base/BaseRxActivity.java b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxActivity.java
similarity index 98%
rename from app/src/main/java/com/uiuios/aios/base/BaseRxActivity.java
rename to app/src/main/java/com/uiuios/aios/base/rx/BaseRxActivity.java
index 001cef2..a4bcf7b 100644
--- a/app/src/main/java/com/uiuios/aios/base/BaseRxActivity.java
+++ b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxActivity.java
@@ -1,4 +1,4 @@
-package com.uiuios.aios.base;
+package com.uiuios.aios.base.rx;
import android.os.Bundle;
diff --git a/app/src/main/java/com/uiuios/aios/base/rx/BaseRxFragment.java b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxFragment.java
new file mode 100644
index 0000000..a5b837a
--- /dev/null
+++ b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxFragment.java
@@ -0,0 +1,123 @@
+package com.uiuios.aios.base.rx;
+
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.CallSuper;
+import androidx.annotation.CheckResult;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.LifecycleTransformer;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.FragmentEvent;
+import com.trello.rxlifecycle4.android.RxLifecycleAndroid;
+
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
+
+/**
+ * {@link com.trello.rxlifecycle4.components.RxFragment}
+ * copied form RxFragment}
+ */
+public class BaseRxFragment extends Fragment implements LifecycleProvider {
+ private final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
+
+ public BehaviorSubject getLifecycleSubject() {
+ return lifecycleSubject;
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final Observable lifecycle() {
+ return lifecycleSubject.hide();
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindUntilEvent(@NonNull FragmentEvent event) {
+ return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindToLifecycle() {
+ return RxLifecycleAndroid.bindFragment(lifecycleSubject);
+ }
+
+ @Override
+ @CallSuper
+ public void onAttach(android.app.Activity activity) {
+ super.onAttach(activity);
+ lifecycleSubject.onNext(FragmentEvent.ATTACH);
+ }
+
+ @Override
+ @CallSuper
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ lifecycleSubject.onNext(FragmentEvent.CREATE);
+ }
+
+ @Override
+ @CallSuper
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ lifecycleSubject.onNext(FragmentEvent.CREATE_VIEW);
+ }
+
+ @Override
+ @CallSuper
+ public void onStart() {
+ super.onStart();
+ lifecycleSubject.onNext(FragmentEvent.START);
+ }
+
+ @Override
+ @CallSuper
+ public void onResume() {
+ super.onResume();
+ lifecycleSubject.onNext(FragmentEvent.RESUME);
+ }
+
+ @Override
+ @CallSuper
+ public void onPause() {
+ lifecycleSubject.onNext(FragmentEvent.PAUSE);
+ super.onPause();
+ }
+
+ @Override
+ @CallSuper
+ public void onStop() {
+ lifecycleSubject.onNext(FragmentEvent.STOP);
+ super.onStop();
+ }
+
+ @Override
+ @CallSuper
+ public void onDestroyView() {
+ lifecycleSubject.onNext(FragmentEvent.DESTROY_VIEW);
+ super.onDestroyView();
+ }
+
+ @Override
+ @CallSuper
+ public void onDestroy() {
+ lifecycleSubject.onNext(FragmentEvent.DESTROY);
+ super.onDestroy();
+ }
+
+ @Override
+ @CallSuper
+ public void onDetach() {
+ lifecycleSubject.onNext(FragmentEvent.DETACH);
+ super.onDetach();
+ }
+}
+
diff --git a/app/src/main/java/com/uiuios/aios/base/BaseService.java b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxService.java
similarity index 90%
rename from app/src/main/java/com/uiuios/aios/base/BaseService.java
rename to app/src/main/java/com/uiuios/aios/base/rx/BaseRxService.java
index 82c0345..effe69d 100644
--- a/app/src/main/java/com/uiuios/aios/base/BaseService.java
+++ b/app/src/main/java/com/uiuios/aios/base/rx/BaseRxService.java
@@ -1,4 +1,4 @@
-package com.uiuios.aios.base;
+package com.uiuios.aios.base.rx;
import android.app.Service;
import android.content.Intent;
@@ -15,10 +15,10 @@ import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
-public abstract class BaseService extends Service implements LifecycleProvider {
+public abstract class BaseRxService extends Service implements LifecycleProvider {
public final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
- public BaseService() {
+ public BaseRxService() {
super();
}
diff --git a/app/src/main/java/com/uiuios/aios/config/CommonConfig.java b/app/src/main/java/com/uiuios/aios/config/CommonConfig.java
index bc22dfd..f879222 100644
--- a/app/src/main/java/com/uiuios/aios/config/CommonConfig.java
+++ b/app/src/main/java/com/uiuios/aios/config/CommonConfig.java
@@ -17,6 +17,9 @@ public class CommonConfig {
public static final String LOCK_SCREEN_PASSWORD = "aios_lockScreenPasswordKey";
public static final String DEFAULT_PASSWORD = "6666";
+ /*让桌面更新定位信息*/
+ public static final String UIUIAIOS_UPDATE_ADDRESS_ACTION = "UIUIAIOS_UPDATE_ADDRESS";
+
/*应用市场所有包名*/
public static final String UIUI_APPSTORE_PACKAGE_LIST = "UIUI_APPSTORE_PACKAGE_LIST_KEY";
/*首次进入桌面*/
diff --git a/app/src/main/java/com/uiuios/aios/fragment/AppListFragment.java b/app/src/main/java/com/uiuios/aios/fragment/AppListFragment.java
index 6bc6cc1..ddebac8 100644
--- a/app/src/main/java/com/uiuios/aios/fragment/AppListFragment.java
+++ b/app/src/main/java/com/uiuios/aios/fragment/AppListFragment.java
@@ -257,7 +257,7 @@ public class AppListFragment extends BaseFragment {
ApkUtils.openPackage(v.getContext(), desktopIcon.getPackage(), desktopIcon.getClazz());
AppUsedTimeUtils.getInstance().setAppPackageName(desktopIcon.getPackage());
AppUsedTimeUtils.getInstance().setStartTime(System.currentTimeMillis());
- SendRunningApp(getActivity());
+// SendRunningApp(getActivity());
// }
break;
case "com.uiuios.aios":
@@ -267,7 +267,7 @@ public class AppListFragment extends BaseFragment {
ApkUtils.openPackage(v.getContext(), desktopIcon.getPackage(), desktopIcon.getClazz());
AppUsedTimeUtils.getInstance().setAppPackageName(desktopIcon.getPackage());
AppUsedTimeUtils.getInstance().setStartTime(System.currentTimeMillis());
- SendRunningApp(getActivity());
+// SendRunningApp(getActivity());
break;
default:
int setting_other_appInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
@@ -279,7 +279,7 @@ public class AppListFragment extends BaseFragment {
ApkUtils.openPackage(v.getContext(), desktopIcon.getPackage(), desktopIcon.getClazz());
AppUsedTimeUtils.getInstance().setAppPackageName(desktopIcon.getPackage());
AppUsedTimeUtils.getInstance().setStartTime(System.currentTimeMillis());
- SendRunningApp(getActivity());
+// SendRunningApp(getActivity());
}
}
}
@@ -311,7 +311,7 @@ public class AppListFragment extends BaseFragment {
private void updateAppDisableStatus(String pkg, String label) {
AppManager.getInstance().addAddPakcage(pkg);
NetInterfaceManager.getInstance().getUpdateAppIconObservable(pkg, label, 0)
- .compose(RxLifecycle.bindUntilEvent(lifecycleSubject, FragmentEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(getLifecycleSubject(), FragmentEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
diff --git a/app/src/main/java/com/uiuios/aios/fragment/ControlFragment.java b/app/src/main/java/com/uiuios/aios/fragment/ControlFragment.java
index 6c5ac7f..697805d 100644
--- a/app/src/main/java/com/uiuios/aios/fragment/ControlFragment.java
+++ b/app/src/main/java/com/uiuios/aios/fragment/ControlFragment.java
@@ -49,6 +49,7 @@ import com.uiuios.aios.activity.main.PhoneMainActivity;
import com.uiuios.aios.base.BaseFragment;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.disklrucache.CacheHelper;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.utils.BrightnessUtils;
@@ -106,7 +107,6 @@ public class ControlFragment extends BaseFragment {
private View rootView;
private Context mContext;
private ContentResolver mCRv;
- private CacheHelper mCacheHelper;
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
@@ -180,7 +180,6 @@ public class ControlFragment extends BaseFragment {
}
mContext = rootView.getContext();
mCRv = mContext.getContentResolver();
- mCacheHelper = new CacheHelper(mContext);
ButterKnife.bind(this, rootView);
initView();
initData();
@@ -845,7 +844,7 @@ public class ControlFragment extends BaseFragment {
cl_location.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- RemoteManager.getInstance().getLocation();
+ AmapManager.getInstance().startLocation();
}
});
}
diff --git a/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java b/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java
index f36ca2e..f1c2cb8 100644
--- a/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java
+++ b/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java
@@ -71,6 +71,7 @@ import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.dialog.PasswordDialog;
import com.uiuios.aios.dialog.SingleDialog;
import com.uiuios.aios.disklrucache.CacheHelper;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.network.UrlAddress;
@@ -161,6 +162,8 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
ImageView iv_battery;
private static final String TAG = CustomFragment.class.getSimpleName();
+ private MMKV mMMKV= MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
+
// private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5};
private int[] mShaderColors = new int[]{0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192};
private int[] mShaderColorsRed = new int[]{0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000};
@@ -169,7 +172,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
private NotificationAdapter notificationAdapter;
// private AlarmClockAdapter alarmClockAdapter;
private SOSNnmberAdapter sosNnmberAdapter;
- private MMKV mMMKV;
private Activity mContext;
private ContentResolver mCRv;
private CacheHelper mCacheHelper;
@@ -219,14 +221,13 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
- mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
}
@Override
public void fetchData() {
Log.e(TAG, "fetchData: ");
initData();
- RemoteManager.getInstance().getLocation();
+ AmapManager.getInstance().startLocation();
}
@Override
@@ -376,26 +377,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
iv_battery.setImageBitmap(bitmap);
}
- 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);
- }
- }
- }
- }
- };
-
//监听时间和日期变化
public void registerTimeReceiver() {
mTimeChangedReceiver = new TimeChangedReceiver();
@@ -460,7 +441,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
mContext = (Activity) rootView.getContext();
mCustomPresenter = new CustomPresenter(mContext);
mCustomPresenter.attachView(this);
- mCustomPresenter.setLifecycle(lifecycleSubject);
+ mCustomPresenter.setLifecycle(getLifecycleSubject());
mCacheHelper = new CacheHelper(mContext);
mCRv = mContext.getContentResolver();
ButterKnife.bind(this, rootView);
@@ -476,7 +457,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
registerTimeReceiver();
wifi_ssid.requestFocus();
setTiem();
- 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);
@@ -484,19 +464,12 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
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();
}
});
-// cl_alarm.setOnClickListener(new View.OnClickListener() {
-// @Override
-// public void onClick(View v) {
-// ApkUtils.openPackage(mContext, "com.alarmclock.uiui");
-// }
-// });
cl_guard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -548,20 +521,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
@Override
public void onClick(View v) {
killBackgroundApp();
-// SingleDialog dialog = new SingleDialog(mContext);
-// dialog.setTitle("温馨提示")
-// .setMessage("此功能暂未上线")
-// .setPositive("确定")
-//// .setNegtive("拒绝")
-//// .setSingle(true)
-//
-// .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() {
-// @Override
-// public void onPositiveClick() {
-// dialog.dismiss();
-// }
-// });
-// dialog.show();
}
});
cl_health.setOnClickListener(new View.OnClickListener() {
@@ -610,7 +569,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
cl_appstore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
-// ApkUtils.openPackage(mContext, "com.uiuios.appstore");
ApkUtils.openPackage(mContext, "com.uiui.videoplayer", "com.uiui.videoplayer.activity.main.MainActivity");
}
});
@@ -620,7 +578,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
-// startActivity(new Intent(mContext, WiFiManagerActivity.class));
}
});
cl_activation.setOnClickListener(new View.OnClickListener() {
@@ -629,12 +586,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
ApkUtils.openPackage(mContext, "com.uiuios.sn");
}
});
-// cl_exit.setOnClickListener(new View.OnClickListener() {
-// @Override
-// public void onClick(View view) {
-// showPassword();
-// }
-// });
cl_control.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -714,42 +665,10 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
}
private void checkContact() {
-// int aole_call_forbid = Settings.System.getInt(mContext.getContentResolver(), "aole_call_forbid", 0);
-// if (aole_call_forbid == 1) {
-// Toaster.show("电话功能被禁用");
-// return;
-// }
startActivity(new Intent(mContext, ContactActivity.class));
}
private void initData() {
-// NetInterfaceManager.getInstance().getUserAvatarInfoControl()
-// .subscribe(new Observer>() {
-// @Override
-// public void onSubscribe(@NonNull Disposable d) {
-// Log.e("getUserAvatarInfoControl", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(@NonNull BaseResponse userAvatarInfoBaseResponse) {
-// Log.e("getUserAvatarInfoControl", "onNext: " + userAvatarInfoBaseResponse);
-// if (userAvatarInfoBaseResponse.code == 200) {
-// if (!mContext.isDestroyed()) {
-//// Glide.with(iv_head).load(userAvatarInfoBaseResponse.data.getAvatar()).into(iv_head);
-// }
-// }
-// }
-//
-// @Override
-// public void onError(@NonNull Throwable e) {
-// Log.e("getUserAvatarInfoControl", "onError: " + e.getMessage());
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e("getUserAvatarInfoControl", "onComplete: ");
-// }
-// });
mCustomPresenter.getSnInfo();
initAmap();
getAlarmCache();
@@ -768,19 +687,9 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
@Override
public void onResume() {
super.onResume();
-// setAlarm();
+ initAmap();
setSosNumber();
setQuickApp();
- checkActivation();
- }
-
- private void checkActivation() {
- int activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
- if (activation == 0) {
-// tv_name.setText("未激活");
- } else {
-// tv_name.setText("已激活");
- }
}
private String quickAppPackagesName;
@@ -864,44 +773,14 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
}
}
- private void setAlarm() {
- if (rootView == null) return;
- if (alarmItemList == null) {
-// tv_add.setVisibility(View.VISIBLE);
-// rv_clock.setVisibility(View.GONE);
- } else {
-// tv_add.setVisibility(View.GONE);
-// rv_clock.setVisibility(View.VISIBLE);
-// alarmClockAdapter.setAlarmItemList(alarmItemList);
- }
- }
-
private void initAmap() {
- String city = RemoteManager.getInstance().getCity();
+ String city = AmapManager.getInstance().getCity();
tv_location.setText(city);
- getweather(RemoteManager.getInstance().getLongitude(), RemoteManager.getInstance().getLatitude());
+ getweather(AmapManager.getInstance().getLocationTude());
}
private void getAlarm() {
startActivity(new Intent(mContext, PortAlarmActivity.class));
-// NetInterfaceManager.getInstance().getAlarmClock(new NetInterfaceManager.AlarmClockCallback() {
-// @Override
-// public void setAlarmClock(List alarmClockList) {
-// startActivity(new Intent(mContext, AlarmClockActivity.class));
-// }
-//
-// @Override
-// public void setAlarmClockEmpty() {
-// showNoData("温馨提示", "请在小程序上设置爱心闹钟");
-// rv_noti.setVisibility(View.GONE);
-// iv_note_nodata.setVisibility(View.VISIBLE);
-// }
-//
-// @Override
-// public void onError() {
-//
-// }
-// });
}
private void getAlarmCache() {
@@ -988,8 +867,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
private String nowString;
- private void getweather(double longitude, double latitude) {
- String location = longitude + "," + latitude;
+ private void getweather(String location) {
Log.e(TAG, "getweather: " + location);
/**
* 实况天气数据
@@ -1114,20 +992,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
}
private void killBackgroundProcesses(String packageName) {
-// ActivityManager activityManager;
-// try {
-// activityManager = (ActivityManager)
-// mContext.getSystemService(Context.ACTIVITY_SERVICE);
-// activityManager.killBackgroundProcesses(packageName);
-// Method forceStopPackage = activityManager.getClass()
-// .getDeclaredMethod("forceStopPackage", String.class);
-//// Log.e(TAG, "killBackgroundProcesses: " + packageName);
-// forceStopPackage.setAccessible(true);
-// forceStopPackage.invoke(activityManager, packageName);
-// } catch (Exception e) {
-// Log.e(TAG, "killBackgroundProcesses: " + e.getMessage());
-// e.printStackTrace();
-// }
RemoteManager.getInstance().killBackgroundProcesses(packageName);
}
@@ -1152,9 +1016,6 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom
if (batteryReceiver != null) {
mContext.unregisterReceiver(batteryReceiver);
}
- if (mbatteryReceiver != null) {
- mContext.unregisterReceiver(mbatteryReceiver);
- }
if (mAlarmClockReceiver != null) {
mContext.unregisterReceiver(mAlarmClockReceiver);
}
diff --git a/app/src/main/java/com/uiuios/aios/fragment/home/HomeFragment.java b/app/src/main/java/com/uiuios/aios/fragment/home/HomeFragment.java
index 4c227d2..8c8f43b 100644
--- a/app/src/main/java/com/uiuios/aios/fragment/home/HomeFragment.java
+++ b/app/src/main/java/com/uiuios/aios/fragment/home/HomeFragment.java
@@ -48,6 +48,7 @@ import com.uiuios.aios.bean.Contact;
import com.uiuios.aios.bean.DesktopIcon;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.dialog.SingleDialog;
+import com.uiuios.aios.manager.AmapManager;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.push.PushManager;
@@ -187,7 +188,7 @@ public class HomeFragment extends BaseFragment implements HomeContact.PrecisionV
mContext = (FragmentActivity) rootView.getContext();
mHomePresenter = new HomePresenter(mContext);
mHomePresenter.attachView(this);
- mHomePresenter.setLifecycle(lifecycleSubject);
+ mHomePresenter.setLifecycle(getLifecycleSubject());
ButterKnife.bind(this, rootView);
initView();
@@ -499,9 +500,9 @@ public class HomeFragment extends BaseFragment implements HomeContact.PrecisionV
}
private void initAmap() {
- String city = RemoteManager.getInstance().getCity();
+ String city = AmapManager.getInstance().getCity();
tv_location.setText(city);
- getweather(RemoteManager.getInstance().getLongitude(), RemoteManager.getInstance().getLatitude());
+ getweather(AmapManager.getInstance().getLocationTude());
}
@@ -515,8 +516,7 @@ public class HomeFragment extends BaseFragment implements HomeContact.PrecisionV
private String nowString;
- private void getweather(double longitude, double latitude) {
- String location = longitude + "," + latitude;
+ private void getweather(String location) {
Log.e(TAG, "getweather: " + location);
/**
* 实况天气数据
diff --git a/app/src/main/java/com/uiuios/aios/fragment/second/SecondFragment.java b/app/src/main/java/com/uiuios/aios/fragment/second/SecondFragment.java
index 775d978..2b8e532 100644
--- a/app/src/main/java/com/uiuios/aios/fragment/second/SecondFragment.java
+++ b/app/src/main/java/com/uiuios/aios/fragment/second/SecondFragment.java
@@ -165,7 +165,7 @@ public class SecondFragment extends BaseFragment implements SecondContact.View,
ButterKnife.bind(this, rootView);
mPresenter = new SecondPresenter(mContext);
mPresenter.attachView(this);
- mPresenter.setLifecycle(lifecycleSubject);
+ mPresenter.setLifecycle(getLifecycleSubject());
initView();
initData();
}
diff --git a/app/src/main/java/com/uiuios/aios/manager/AmapManager.java b/app/src/main/java/com/uiuios/aios/manager/AmapManager.java
new file mode 100644
index 0000000..53f81fb
--- /dev/null
+++ b/app/src/main/java/com/uiuios/aios/manager/AmapManager.java
@@ -0,0 +1,217 @@
+package com.uiuios.aios.manager;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.amap.api.location.AMapLocation;
+import com.amap.api.location.AMapLocationClient;
+import com.amap.api.location.AMapLocationClientOption;
+import com.amap.api.location.AMapLocationListener;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.jeremyliao.liveeventbus.LiveEventBus;
+import com.tencent.mmkv.MMKV;
+import com.uiuios.aios.bean.BaseResponse;
+import com.uiuios.aios.bean.MapBean;
+import com.uiuios.aios.config.CommonConfig;
+import com.uiuios.aios.gson.GsonUtils;
+import com.uiuios.aios.network.NetInterfaceManager;
+
+import java.lang.reflect.Type;
+
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+
+public class AmapManager {
+ private static final String TAG = AmapManager.class.getSimpleName();
+
+ MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
+
+ @SuppressLint("StaticFieldLeak")
+ private static AmapManager sInstance;
+ private Context mContext;
+
+ private AMapLocationClient mAMapLocationClient;
+ private AMapLocationClientOption mAMapLocationClientOption;
+ private MapBean mMapBean;
+
+ private AmapManager(Context context) {
+ this.mContext = context;
+ 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;
+ }
+
+ private AMapLocationClientOption getDefaultOption() {
+ if (mAMapLocationClientOption == null) {
+ mAMapLocationClientOption = new AMapLocationClientOption();
+ }
+ mAMapLocationClientOption.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
+ //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
+ mAMapLocationClientOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
+ mAMapLocationClientOption.setNeedAddress(true);
+ //获取一次定位结果:
+ //该方法默认为false。
+ mAMapLocationClientOption.setOnceLocation(true);
+ //获取最近3s内精度最高的一次定位结果:
+ //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。
+ // 如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
+ mAMapLocationClientOption.setOnceLocationLatest(true);
+ return mAMapLocationClientOption;
+ }
+
+ public void initAmap() {
+ if (mAMapLocationClient == null) {
+ mAMapLocationClient = new AMapLocationClient(mContext);
+ }
+ mAMapLocationClient.setLocationOption(getDefaultOption());
+
+ //设置定位监听
+ mAMapLocationClient.setLocationListener(mAMapLocationListener);
+ //设置场景模式后最好调用一次stop,再调用start以保证场景模式生效
+
+ startLocation();
+
+ String jsonString = mMMKV.decodeString(CommonConfig.MAP_LOCATION_JSON_KEY, "");
+ if (!TextUtils.isEmpty(jsonString)) {
+ Gson gson = new Gson();
+ Type type = new TypeToken() {
+ }.getType();
+ mMapBean = gson.fromJson(jsonString, type);
+ } else {
+ Log.e(TAG, "initAmap: jsonString is empty");
+ }
+
+ }
+
+ public void startLocation() {
+ mAMapLocationClient.stopLocation();
+ mAMapLocationClient.startLocation();
+ Log.e(TAG, "initAmap: " + "startLocation");
+ }
+
+ private AMapLocationListener mAMapLocationListener = new AMapLocationListener() {
+ @Override
+ public void onLocationChanged(AMapLocation aMapLocation) {
+ StringBuilder sb = new StringBuilder();
+ //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
+ if (aMapLocation.getErrorCode() == 0) {
+ Log.e(TAG, "onLocationChanged: " + "定位成功");
+ updateAddress(aMapLocation);
+ mMapBean = getMapBean(aMapLocation);
+ saveMapResult(mMapBean);
+ LiveEventBus
+ .get("MapBean")
+ .post(mMapBean);
+ Log.e(TAG, "onLocationChanged: " + aMapLocation.getAddress());
+ sb.append(aMapLocation.getAddress()).append("\n");
+
+ } else {
+ //定位失败
+ sb.append("定位失败" + "\n");
+ sb.append(aMapLocation.getErrorInfo());
+ Log.e(TAG, "onLocationChanged: " + "定位失败");
+ }
+ Log.e(TAG, "amap: " + sb.toString());
+ }
+ };
+
+ private void updateAddress(AMapLocation aMapLocation) {
+ NetInterfaceManager.getInstance().getUpdateAddressObservable(aMapLocation.getAddress()
+ , aMapLocation.getLongitude(), aMapLocation.getLatitude()
+ )
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("updateAddress", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ Log.e("updateAddress", "onNext: " + baseResponse);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("updateAddress", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("updateAddress", "onComplete: ");
+ }
+ });
+ }
+
+ public String getLocationTude() {
+ if (mMapBean != null) {
+ return mMapBean.getLongitude() + "," + mMapBean.getLatitude();
+ } else {
+ startLocation();
+ return CommonConfig.DEFAULT_LOCATION_TUDE;
+ }
+ }
+
+ public String getDistrict() {
+ if (mMapBean != null) {
+ return mMapBean.getDistrict();
+ } else {
+ startLocation();
+ return CommonConfig.DEFAULT_LOCATION_DISTRICT;
+ }
+ }
+
+ public String getCity() {
+ if (mMapBean != null) {
+ return mMapBean.getCity();
+ } else {
+ startLocation();
+ return CommonConfig.DEFAULT_LOCATION_DISTRICT;
+ }
+ }
+
+ private MapBean getMapBean(AMapLocation location) {
+ MapBean mapBean = new MapBean();
+ mapBean.setLongitude(location.getLongitude());
+ mapBean.setLatitude(location.getLatitude());
+ mapBean.setAdcode(location.getAdCode());
+ mapBean.setAddress(location.getAddress());
+ mapBean.setCity(location.getCity());
+ mapBean.setCityCode(location.getCityCode());
+ mapBean.setCountry(location.getCountry());
+ mapBean.setCountryCode(location.getAdCode());
+ mapBean.setDistrict(location.getDistrict());
+ mapBean.setProvince(location.getProvince());
+ mapBean.setStreet(location.getStreet());
+ mapBean.setStreetNumber(location.getStreetNum());
+ mapBean.setTown(location.getStreet());
+ mapBean.setLocationDescribe(location.getLocationDetail());
+ Log.e(TAG, "getMapBean: " + GsonUtils.toJSONString(mapBean));
+ return mapBean;
+
+ }
+
+ private void saveMapResult(MapBean mapBean) {
+ Log.e(TAG, "saveMapResult: " + GsonUtils.toJSONString(mapBean));
+ mMMKV.encode(CommonConfig.MAP_LOCATION_JSON_KEY, GsonUtils.toJSONString(mapBean));
+ }
+
+}
diff --git a/app/src/main/java/com/uiuios/aios/manager/RemoteManager.java b/app/src/main/java/com/uiuios/aios/manager/RemoteManager.java
index 2fc2dd1..a125a86 100644
--- a/app/src/main/java/com/uiuios/aios/manager/RemoteManager.java
+++ b/app/src/main/java/com/uiuios/aios/manager/RemoteManager.java
@@ -7,39 +7,28 @@ import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.os.RemoteException;
-import android.text.TextUtils;
import android.util.Log;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.mmkv.MMKV;
-import com.uiuios.aios.BuildConfig;
-import com.uiuios.aios.bean.MapBean;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.disklrucache.CacheHelper;
import com.uiuios.sn.IGetInfoInterface;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
public class RemoteManager {
private static final String TAG = RemoteManager.class.getSimpleName();
-
private static final String SN_KEY = "sn_serial_key";
+ private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@SuppressLint("StaticFieldLeak")
private static RemoteManager sInstance;
private Context mContext;
- private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private static boolean mServiceConnected = false;
- private CacheHelper mCacheHelper;
- private IGetInfoInterface mGetInfoInterface;
+ private IGetInfoInterface mIGetInfoInterface;
private ServiceConnection mIGetInfoConnection;
private RemoteManager(Context context) {
@@ -47,12 +36,11 @@ public class RemoteManager {
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");
- mGetInfoInterface = IGetInfoInterface.Stub.asInterface(service);
+ mIGetInfoInterface = IGetInfoInterface.Stub.asInterface(service);
mServiceConnected = true;
for (ConnectedListener listener : mListeners) {
if (listener != null) {
@@ -60,20 +48,19 @@ public class RemoteManager {
}
}
try {
- String sn = mGetInfoInterface.getSerial();
+ String sn = mIGetInfoInterface.getSerial();
CrashReport.setDeviceModel(mContext, sn);
mMMKV.encode(SN_KEY, sn);
Log.e(TAG, "onServiceConnected: sn = " + sn);
} catch (RemoteException e) {
e.printStackTrace();
}
- getLocation();
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.e(TAG, "onServiceDisconnected: mIGetInfoConnection");
- mGetInfoInterface = null;
+ mIGetInfoInterface = null;
mServiceConnected = false;
bindInfoService();
}
@@ -117,7 +104,7 @@ public class RemoteManager {
}
private void bindInfoService() {
- if (mGetInfoInterface == null) {
+ if (mIGetInfoInterface == null) {
//这是连接aidl服务的代码
Intent intent = new Intent();
intent.setAction("com.uiuios.sn.IGetInfoInterface");
@@ -132,9 +119,9 @@ public class RemoteManager {
*/
public String getSerial() {
// if (BuildConfig.DEBUG) return "MTK0002306120556370";
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- return mGetInfoInterface.getSerial();
+ return mIGetInfoInterface.getSerial();
} catch (Exception e) {
Log.e(TAG, "getSerial: " + e.getMessage());
}
@@ -144,105 +131,10 @@ public class RemoteManager {
return mMMKV.decodeString(SN_KEY, "");
}
- public void getLocation() {
- if (mGetInfoInterface != null) {
- try {
- String jsonString = mGetInfoInterface.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, String.valueOf(mapBean.getLongitude()));
- mMMKV.encode(CommonConfig.MAP_LATITUDE_KEY, String.valueOf(mapBean.getLatitude()));
- mMMKV.encode(CommonConfig.MAP_PROVINCE_KEY, mapBean.getProvince());
- mMMKV.encode(CommonConfig.MAP_CITY_KEY, mapBean.getCity());
- mMMKV.encode(CommonConfig.MAP_DISTRICT_KEY, mapBean.getDistrict());
- mMMKV.encode(CommonConfig.MAP_STREET_KEY, mapBean.getTown() + mapBean.getStreet());
- mMMKV.encode(CommonConfig.MAP_LOCATION_DESCRIBE_KEY, mapBean.getStreet() + mapBean.getLocationDescribe());
- 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 String getDistrict() {
- getLocation();
- MapBean mapBean = getMapBean();
- if (mapBean == null) {
- return "北京";
- } else {
- return 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();
- }
- }
-
public boolean putSystemInt(String name, int value) {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- return mGetInfoInterface.SystemPutInt(name, value);
+ return mIGetInfoInterface.SystemPutInt(name, value);
} catch (Exception e) {
Log.e(TAG, "putSystemInt: " + e.getMessage());
}
@@ -253,9 +145,9 @@ public class RemoteManager {
}
public void killBackgroundProcesses(String pkg) {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- mGetInfoInterface.killBackgroundProcesses(pkg);
+ mIGetInfoInterface.killBackgroundProcesses(pkg);
} catch (Exception e) {
Log.e(TAG, "killBackgroundProcesses: " + e.getMessage());
}
@@ -265,9 +157,9 @@ public class RemoteManager {
}
public String getConnectWifiSsid() {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- return mGetInfoInterface.getWifiSsid();
+ return mIGetInfoInterface.getWifiSsid();
} catch (Exception e) {
Log.e(TAG, "killBackgroundProcesses: " + e.getMessage());
}
@@ -278,9 +170,9 @@ public class RemoteManager {
}
public String getBluetoothDeviceName() {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- return mGetInfoInterface.getBluetoothSsid();
+ return mIGetInfoInterface.getBluetoothSsid();
} catch (Exception e) {
Log.e(TAG, "killBackgroundProcesses: " + e.getMessage());
}
@@ -291,9 +183,9 @@ public class RemoteManager {
}
public void openLauncher3() {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- mGetInfoInterface.openLauncher3();
+ mIGetInfoInterface.openLauncher3();
} catch (Exception e) {
Log.e(TAG, "openLauncher3: " + e.getMessage());
}
@@ -303,9 +195,9 @@ public class RemoteManager {
}
public void setDefaultDesktop(String pkgName, String className) {
- if (mGetInfoInterface != null) {
+ if (mIGetInfoInterface != null) {
try {
- mGetInfoInterface.setDefaultDesktop(pkgName, className);
+ mIGetInfoInterface.setDefaultDesktop(pkgName, className);
} catch (Exception e) {
Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
}
diff --git a/app/src/main/java/com/uiuios/aios/network/NetInterfaceManager.java b/app/src/main/java/com/uiuios/aios/network/NetInterfaceManager.java
index 4f45630..896e5b5 100644
--- a/app/src/main/java/com/uiuios/aios/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/uiuios/aios/network/NetInterfaceManager.java
@@ -77,6 +77,7 @@ import com.uiuios.aios.network.api.sn.SnInfoApi;
import com.uiuios.aios.network.api.sn.SosRecordApi;
import com.uiuios.aios.network.api.sn.SendScreenshotApi;
import com.uiuios.aios.network.api.sn.SettingApi;
+import com.uiuios.aios.network.api.sn.UpdateAddressApi;
import com.uiuios.aios.network.api.sn.UpdateAlarmClockApi;
import com.uiuios.aios.network.api.UpdateAppIconApi;
import com.uiuios.aios.network.api.desktop.UpdateDesktopApi;
@@ -511,6 +512,13 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
+ public Observable getUpdateAddressObservable(String address, double longitude, double latitude) {
+ return mRetrofit.create(UpdateAddressApi.class)
+ .updateAddress(RemoteManager.getInstance().getSerial(), address, longitude, latitude)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
public RegionListApi getRegionListApi() {
return mRetrofit.create(RegionListApi.class);
diff --git a/app/src/main/java/com/uiuios/aios/network/UrlAddress.java b/app/src/main/java/com/uiuios/aios/network/UrlAddress.java
index 18a9aad..2135c45 100644
--- a/app/src/main/java/com/uiuios/aios/network/UrlAddress.java
+++ b/app/src/main/java/com/uiuios/aios/network/UrlAddress.java
@@ -24,6 +24,8 @@ public class UrlAddress {
public final static String GET_SETTINGS = "control/getSetting";
/*sos记录*/
public static final String SOS_RECORD = "sosRecord";
+ /*上传地址信息*/
+ public static final String UPDATE_ADDRESS = "sn/update-address";
/*获取抢购列表*/
public static final String GET_GOODS_LIST = "getGoodsList";
diff --git a/app/src/main/java/com/uiuios/aios/network/api/sn/UpdateAddressApi.java b/app/src/main/java/com/uiuios/aios/network/api/sn/UpdateAddressApi.java
new file mode 100644
index 0000000..5a1f6d9
--- /dev/null
+++ b/app/src/main/java/com/uiuios/aios/network/api/sn/UpdateAddressApi.java
@@ -0,0 +1,20 @@
+package com.uiuios.aios.network.api.sn;
+
+import com.uiuios.aios.bean.BaseResponse;
+import com.uiuios.aios.network.UrlAddress;
+
+import io.reactivex.rxjava3.core.Observable;
+import retrofit2.http.Field;
+import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.POST;
+
+public interface UpdateAddressApi {
+ @FormUrlEncoded
+ @POST(UrlAddress.UPDATE_ADDRESS)
+ Observable updateAddress(
+ @Field("sn") String sn,
+ @Field("address") String address,
+ @Field("longitude") double longitude,
+ @Field("latitude") double latitude
+ );
+}
diff --git a/app/src/main/java/com/uiuios/aios/service/main/MainService.java b/app/src/main/java/com/uiuios/aios/service/main/MainService.java
index 90202a4..dc332e5 100644
--- a/app/src/main/java/com/uiuios/aios/service/main/MainService.java
+++ b/app/src/main/java/com/uiuios/aios/service/main/MainService.java
@@ -8,7 +8,6 @@ import android.content.IntentFilter;
import android.os.IBinder;
import android.os.PowerManager;
import android.text.TextUtils;
-import android.text.format.Formatter;
import android.util.Log;
import com.arialyy.annotations.Download;
@@ -18,7 +17,7 @@ import com.blankj.utilcode.util.NetworkUtils;
import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.activity.NoticeActivity;
import com.uiuios.aios.alarm.AlarmUtils;
-import com.uiuios.aios.base.BaseService;
+import com.uiuios.aios.base.rx.BaseRxService;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.manager.RemoteManager;
@@ -28,8 +27,6 @@ import com.uiuios.aios.utils.AppUsedTimeUtils;
import com.uiuios.aios.utils.CmdUtil;
import com.uiuios.aios.utils.ForegroundAppUtil;
-import com.uiuios.aios.utils.Utils;
-
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Calendar;
@@ -49,7 +46,7 @@ import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
-public class MainService extends BaseService implements MainSContact.MainSView, NetworkUtils.OnNetworkStatusChangedListener {
+public class MainService extends BaseRxService implements MainSContact.MainSView, NetworkUtils.OnNetworkStatusChangedListener {
private static final String TAG = MainService.class.getSimpleName();
@SuppressLint("StaticFieldLeak")
public MainSPresenter mPresenter;
@@ -407,7 +404,7 @@ public class MainService extends BaseService implements MainSContact.MainSView,
break;
case Intent.ACTION_SCREEN_OFF:
//关闭屏幕上传数据
- sendAppUsed(context);
+// sendAppUsed(context);
break;
}
}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 10d4dc3..33ebe22 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -28,7 +28,8 @@
- true
- - false
+
+ - true
- true
@@ -37,6 +38,7 @@
- @android:style/Animation.Dialog
- true
+ - true