version:5.6
fix: update:更新地图,优化databinding
This commit is contained in:
@@ -28,6 +28,8 @@
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
||||
|
||||
@@ -68,6 +70,45 @@
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
|
||||
<!--amap-->
|
||||
<!-- Normal Permissions 不需要运行时注册 -->
|
||||
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
|
||||
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>-->
|
||||
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
|
||||
<!-- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>-->
|
||||
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
|
||||
|
||||
<!-- 请求网络 -->
|
||||
<!-- <uses-permission android:name="android.permission.INTERNET"/>-->
|
||||
|
||||
<!-- 不是SDK需要的权限,是示例中的后台唤醒定位需要的权限 -->
|
||||
<!-- <uses-permission android:name="android.permission.WAKE_LOCK"/>-->
|
||||
|
||||
<!-- 需要运行时注册的权限 -->
|
||||
<!-- 用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<!-- 用于访问GPS定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<!-- 用于提高GPS定位速度 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<!-- 写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据 -->
|
||||
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
|
||||
<!-- 读取缓存数据 -->
|
||||
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>-->
|
||||
|
||||
<!-- 用于读取手机当前的状态 -->
|
||||
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
|
||||
|
||||
<!-- 更改设置 -->
|
||||
<!-- <uses-permission android:name="android.permission.WRITE_SETTINGS"/>-->
|
||||
|
||||
<!--如果设置了target >= 28 如果需要启动后台定位则必须声明这个权限-->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<!--如果您的应用需要后台定位权限,且有可能运行在Android Q设备上,并且设置了target>28,必须增加这个权限声明-->
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
|
||||
<application
|
||||
android:name=".base.BaseApplication"
|
||||
android:allowBackup="true"
|
||||
@@ -337,18 +378,28 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- 【必须】 请修改为 APP 的 AccessId,“15”开头的10位数字,中间没空格 -->
|
||||
<meta-data
|
||||
android:name="XG_V2_ACCESS_ID"
|
||||
android:value="1500033697" />
|
||||
<!-- 【必须】 请修改为APP的AccessKey,“A”开头的12位字符串,中间没空格 -->
|
||||
<meta-data
|
||||
android:name="XG_V2_ACCESS_KEY"
|
||||
android:value="A0PFUHEPEKKM" />
|
||||
<!-- 定位需要的服务 适配Android Q需要加上android:foregroundServiceType="location"-->
|
||||
<service
|
||||
android:name="com.amap.api.location.APSService"
|
||||
android:foregroundServiceType="location" />
|
||||
|
||||
<!-- 设置key -->
|
||||
<meta-data
|
||||
android:name="com.baidu.lbsapi.API_KEY"
|
||||
android:value="QQnVGVe6EcQeHo7epbnxk2EGhGkkj7hM" />
|
||||
android:name="com.amap.api.v2.apikey"
|
||||
android:value="${AMAP_KEY}" />
|
||||
|
||||
<!-- <!– 【必须】 请修改为 APP 的 AccessId,“15”开头的10位数字,中间没空格 –>-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="XG_V2_ACCESS_ID"-->
|
||||
<!-- android:value="1500033697" />-->
|
||||
<!-- <!– 【必须】 请修改为APP的AccessKey,“A”开头的12位字符串,中间没空格 –>-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="XG_V2_ACCESS_KEY"-->
|
||||
<!-- android:value="A0PFUHEPEKKM" />-->
|
||||
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.baidu.lbsapi.API_KEY"-->
|
||||
<!-- android:value="QQnVGVe6EcQeHo7epbnxk2EGhGkkj7hM" />-->
|
||||
|
||||
<!-- 请填写你自己的- appKey -->
|
||||
<meta-data
|
||||
|
||||
@@ -9,13 +9,14 @@ import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.APPListAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.AppListInfo;
|
||||
import com.uiuios.aios.service.NotificationService;
|
||||
import com.uiuios.aios.utils.ApkUtils;
|
||||
@@ -26,25 +27,14 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class APPListActivity extends BaseActivity {
|
||||
public class APPListActivity extends BaseDataBindingActivity {
|
||||
private ImageView back;
|
||||
private RecyclerView mRecyclerView;
|
||||
private APPListAdapter adapter;
|
||||
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_applist;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_applist);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,12 +7,13 @@ import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.AddAppAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.DesktopIcon;
|
||||
import com.uiuios.aios.manager.AppManager;
|
||||
import com.uiuios.aios.view.RecyclerViewSpacesItemDecoration;
|
||||
@@ -24,7 +25,7 @@ import java.util.Set;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class AddIconActivity extends BaseActivity {
|
||||
public class AddIconActivity extends BaseDataBindingActivity {
|
||||
|
||||
@BindView(R.id.iv_back)
|
||||
ImageView iv_back;
|
||||
@@ -36,18 +37,8 @@ public class AddIconActivity extends BaseActivity {
|
||||
private AddAppAdapter mAddAppAdapter;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_add_icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_add_icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,16 +17,18 @@ import android.widget.ImageView;
|
||||
import android.widget.RemoteViews;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.shortcut.ShortcutPkgInfo;
|
||||
import com.uiuios.aios.shortcut.ShortcutUtils;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class AddItemActivity extends BaseActivity {
|
||||
public class AddItemActivity extends BaseDataBindingActivity {
|
||||
private static final String TAG = AddItemActivity.class.getSimpleName();
|
||||
|
||||
@BindView(R.id.tv_app_name)
|
||||
@@ -54,23 +56,11 @@ public class AddItemActivity extends BaseActivity {
|
||||
|
||||
private ShortcutPkgInfo mShortcutPkgInfo;
|
||||
|
||||
/**
|
||||
* 设置布局
|
||||
*/
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.add_item_confirmation_activity;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.add_item_confirmation_activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
|
||||
@@ -32,25 +32,20 @@ public class AddressActivity extends BaseDataBindingActivity {
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_address;
|
||||
}
|
||||
|
||||
@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_address);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
@Override
|
||||
public void initView() {
|
||||
mBinding = DataBindingUtil.setContentView(this, getLayoutId());
|
||||
mBinding.setListener(new Listener());
|
||||
|
||||
mAddressAdapter = new AddressAdapter();
|
||||
|
||||
@@ -10,22 +10,22 @@ import android.view.ViewTreeObserver;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.shehuan.niv.NiceImageView;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.ArticleInfo;
|
||||
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class ArticleActivity extends BaseActivity {
|
||||
public class ArticleActivity extends BaseDataBindingActivity {
|
||||
@BindView(R.id.iv_back)
|
||||
ImageView iv_back;
|
||||
@BindView(R.id.tv_title)
|
||||
@@ -36,28 +36,8 @@ public class ArticleActivity extends BaseActivity {
|
||||
NiceImageView iv_img;
|
||||
|
||||
@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_articl;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_articl);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -98,7 +78,7 @@ public class ArticleActivity extends BaseActivity {
|
||||
Log.e("into", "onResourceReady: width = " + imgWidth + "height = " + imgHeight);
|
||||
ViewGroup.LayoutParams layoutParams = iv_img.getLayoutParams();
|
||||
int width = iv_img.getWidth();
|
||||
layoutParams.height = (int) (imgHeight * (1.0f * width /imgWidth ));
|
||||
layoutParams.height = (int) (imgHeight * (1.0f * width / imgWidth));
|
||||
iv_img.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.BatteryManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -27,15 +26,15 @@ import android.widget.ImageView;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.activity.wifi.WiFiManagerActivity;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.config.CommonConfig;
|
||||
import com.uiuios.aios.manager.AmapManager;
|
||||
import com.uiuios.aios.manager.RemoteManager;
|
||||
import com.uiuios.aios.utils.BrightnessUtils;
|
||||
|
||||
@@ -43,19 +42,16 @@ import com.uiuios.aios.view.RulerSeekBar;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
public class ControlActivity extends BaseActivity {
|
||||
public class ControlActivity extends BaseDataBindingActivity {
|
||||
private static final String TAG = ControlActivity.class.getSimpleName();
|
||||
|
||||
@BindView(R.id.iv_back)
|
||||
@@ -110,18 +106,8 @@ public class ControlActivity extends BaseActivity {
|
||||
"com.android.settings.flashlight.action.FLASHLIGHT_CHANGED";
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_control;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this,R.layout.activity_control);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -756,7 +742,7 @@ public class ControlActivity extends BaseActivity {
|
||||
cl_location.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
RemoteManager.getInstance().getLocation();
|
||||
AmapManager.getInstance().startLocation();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,12 +5,13 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.DailyAppAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.DailyAppBean;
|
||||
import com.uiuios.aios.manager.AppStatusManager;
|
||||
import com.uiuios.aios.view.GridSpaceItemDecoration;
|
||||
@@ -20,7 +21,7 @@ import java.util.List;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class DailyAppActivity extends BaseActivity {
|
||||
public class DailyAppActivity extends BaseDataBindingActivity {
|
||||
private static final String TAG = DailyAppActivity.class.getSimpleName();
|
||||
|
||||
private DailyAppAdapter mDailyAppAdapter;
|
||||
@@ -33,18 +34,8 @@ public class DailyAppActivity extends BaseActivity {
|
||||
TextView tv_appsize;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_dailyapp;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this,R.layout.activity_dailyapp);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -91,18 +91,13 @@ public class DetailsActivity extends BaseDataBindingActivity {
|
||||
private GoodsInfo mGoodsInfo;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_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_details);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,7 +105,6 @@ public class DetailsActivity extends BaseDataBindingActivity {
|
||||
*/
|
||||
@Override
|
||||
public void initView() {
|
||||
mBinding = DataBindingUtil.setContentView(this, getLayoutId());
|
||||
ButterKnife.bind(this);
|
||||
Intent intent = getIntent();
|
||||
if (intent == null) return;
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.uiuios.aios.bean.BaseResponse;
|
||||
import com.uiuios.aios.bean.Contact;
|
||||
import com.uiuios.aios.config.CommonConfig;
|
||||
import com.uiuios.aios.disklrucache.CacheHelper;
|
||||
import com.uiuios.aios.manager.AmapManager;
|
||||
import com.uiuios.aios.network.NetInterfaceManager;
|
||||
import com.uiuios.aios.network.UrlAddress;
|
||||
import com.uiuios.aios.receiver.BootReceiver;
|
||||
@@ -64,6 +65,8 @@ public class EmergencyActivity extends AppCompatActivity {
|
||||
Intent bootIntent = new Intent(BootReceiver.SOS);
|
||||
bootIntent.setComponent(new ComponentName("com.uiuios.sn", "com.uiuios.sn.receiver.BootReceiver"));
|
||||
sendBroadcast(bootIntent);
|
||||
AmapManager.getInstance().startLocation();
|
||||
|
||||
|
||||
Intent intent = getIntent();
|
||||
// String contactList = intent.getStringExtra("contactList");
|
||||
|
||||
@@ -33,18 +33,13 @@ public class ExpressActivity extends BaseDataBindingActivity {
|
||||
private ActivityExpressBinding mBinding;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_express;
|
||||
}
|
||||
|
||||
@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_express);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -52,7 +47,6 @@ public class ExpressActivity extends BaseDataBindingActivity {
|
||||
*/
|
||||
@Override
|
||||
public void initView() {
|
||||
mBinding = DataBindingUtil.setContentView(this, getLayoutId());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -41,25 +41,15 @@ public class GoodsActivity extends BaseDataBindingActivity {
|
||||
|
||||
private HashMap<String, GoodsType> 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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -50,31 +50,18 @@ public class InformationActivity extends BaseDataBindingActivity {
|
||||
|
||||
private HashMap<String, CategoryBean> 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()
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -63,19 +63,15 @@ public class OrderActivity extends BaseDataBindingActivity {
|
||||
|
||||
ActivityResultLauncher<Intent> 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<ActivityResult>() {
|
||||
@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<AddressInfo>() {
|
||||
}.getType();
|
||||
mAddressInfo = gson.fromJson(addressJson, type);
|
||||
if (mAddressInfo != null) {
|
||||
mBinding.setAddressInfo(mAddressInfo);
|
||||
String area = mAddressInfo.getArea();
|
||||
List<String> 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<AddressInfo>() {
|
||||
}.getType();
|
||||
mAddressInfo = gson.fromJson(addressJson, type);
|
||||
if (mAddressInfo != null) {
|
||||
mBinding.setAddressInfo(mAddressInfo);
|
||||
String area = mAddressInfo.getArea();
|
||||
List<String> areaList = new ArrayList<>(Arrays.asList(area.split(",")));
|
||||
mBinding.tvAddress.setText(String.join(" ", areaList) + " " + mAddressInfo.getAddress());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void getAdrress() {
|
||||
NetInterfaceManager.getInstance().getAddressIndexObservable()
|
||||
.subscribe(new Observer<BaseResponse<List<AddressInfo>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("getAddressIndexObservable", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<List<AddressInfo>> listBaseResponse) {
|
||||
Log.e("getAddressIndexObservable", "onNext: " + listBaseResponse);
|
||||
if (listBaseResponse.code == 200) {
|
||||
List<AddressInfo> 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<String> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
|
||||
@@ -43,12 +43,7 @@ public class PortAlarmActivity extends BaseMvvmActivity<PortAlarmViewModel, Acti
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
public boolean setNightMode() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -60,16 +60,6 @@ public class AlarmClockActivity extends BaseMvpActivity implements AlarmClockCon
|
||||
return R.layout.activity_alarm;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
UltimateBarX.statusBarOnly(this)
|
||||
|
||||
@@ -115,16 +115,6 @@ public class AlarmClockAddActivity extends BaseMvpActivity {
|
||||
return R.layout.activity_add_alarm;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
getLifecycleSubject().onNext(ActivityEvent.CREATE);
|
||||
|
||||
@@ -64,15 +64,10 @@ public class PortAlarmClockAddActivity extends BaseMvvmActivity<PortAlarmClockAd
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
public boolean setNightMode() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initDataBinding() {
|
||||
mViewModel.setCtx(this);
|
||||
|
||||
@@ -4,15 +4,15 @@ import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.HealthCodeAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.HealthCode;
|
||||
|
||||
import com.uiuios.aios.view.ScaleCircleNavigator;
|
||||
|
||||
import net.lucode.hackware.magicindicator.MagicIndicator;
|
||||
@@ -24,7 +24,7 @@ import java.util.List;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class FamilySpaceActivity extends BaseActivity implements FamilySpaceContact.CodeView {
|
||||
public class FamilySpaceActivity extends BaseDataBindingActivity implements FamilySpaceContact.CodeView {
|
||||
|
||||
@BindView(R.id.iv_back)
|
||||
ImageView iv_back;
|
||||
@@ -40,18 +40,8 @@ public class FamilySpaceActivity extends BaseActivity implements FamilySpaceCont
|
||||
private ScaleCircleNavigator scaleCircleNavigator;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_family_space;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_family_space);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -13,6 +13,8 @@ import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.luck.picture.lib.basic.PictureSelector;
|
||||
import com.luck.picture.lib.config.SelectMimeType;
|
||||
@@ -22,13 +24,12 @@ import com.shehuan.niv.NiceImageView;
|
||||
import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.base.GlideEngine;
|
||||
import com.uiuios.aios.bean.BaseResponse;
|
||||
import com.uiuios.aios.manager.RemoteManager;
|
||||
import com.uiuios.aios.network.NetInterfaceManager;
|
||||
import com.uiuios.aios.utils.GlideLoadUtils;
|
||||
|
||||
import com.uiuios.aios.view.ToggleButton;
|
||||
|
||||
import java.io.File;
|
||||
@@ -46,7 +47,7 @@ import okhttp3.MediaType;
|
||||
import okhttp3.MultipartBody;
|
||||
import okhttp3.RequestBody;
|
||||
|
||||
public class AddContactActivity extends BaseActivity {
|
||||
public class AddContactActivity extends BaseDataBindingActivity {
|
||||
private static final String TAG = AddContactActivity.class.getSimpleName();
|
||||
|
||||
@BindView(R.id.iv_cancel)
|
||||
@@ -67,18 +68,13 @@ public class AddContactActivity extends BaseActivity {
|
||||
private boolean urgent = false;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_add_contact;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
public boolean setNightMode() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_add_contact);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,12 +6,13 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.ContactAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.Contact;
|
||||
|
||||
import java.util.List;
|
||||
@@ -20,7 +21,7 @@ import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
public class ContactActivity extends BaseActivity implements ContactContact.ContactView {
|
||||
public class ContactActivity extends BaseDataBindingActivity implements ContactContact.ContactView {
|
||||
@BindView(R.id.rv_contact)
|
||||
RecyclerView rv_contact;
|
||||
@BindView(R.id.tv_people)
|
||||
@@ -44,18 +45,8 @@ public class ContactActivity extends BaseActivity implements ContactContact.Cont
|
||||
private ContactAdapter mContactAdapter;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_contact;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_contact);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -12,18 +12,19 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.shehuan.niv.NiceImageView;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.activity.contact.ContactActivity;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class DialerActivity extends BaseActivity {
|
||||
public class DialerActivity extends BaseDataBindingActivity {
|
||||
|
||||
@BindView(R.id.et_phone)
|
||||
EditText et_phone;
|
||||
@@ -64,18 +65,8 @@ public class DialerActivity extends BaseActivity {
|
||||
private HashMap<Integer, Integer> 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
|
||||
|
||||
@@ -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<AddressBean> 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();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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<String> 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<String> 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<String> 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<String> 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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<WeatherViewModel, Activity
|
||||
return R.layout.activity_weather;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initDataBinding() {
|
||||
mViewModel.setCtx(this);
|
||||
@@ -117,7 +108,7 @@ public class WeatherActivity extends BaseMvvmActivity<WeatherViewModel, Activity
|
||||
public void initView() {
|
||||
NetworkUtils.registerNetworkStatusChangedListener(this);
|
||||
|
||||
RemoteManager.getInstance().getLocation();
|
||||
AmapManager.getInstance().startLocation();
|
||||
|
||||
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
|
||||
Resources resources = getResources();
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.uiuios.aios.bean.MapGeoResult;
|
||||
import com.uiuios.aios.config.CommonConfig;
|
||||
import com.uiuios.aios.databinding.ActivityWeatherBinding;
|
||||
import com.uiuios.aios.gson.GetJsonDataUtil;
|
||||
import com.uiuios.aios.manager.AmapManager;
|
||||
import com.uiuios.aios.manager.RemoteManager;
|
||||
import com.uiuios.aios.network.NetInterfaceManager;
|
||||
|
||||
@@ -234,7 +235,7 @@ public class WeatherViewModel extends BaseViewModel<ActivityWeatherBinding, Acti
|
||||
}
|
||||
|
||||
public void getLocation() {
|
||||
String location = RemoteManager.getInstance().getDistrict();
|
||||
String location = AmapManager.getInstance().getDistrict();
|
||||
mLocationData.setValue(location);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@@ -17,9 +18,8 @@ import com.hjq.toast.Toaster;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.adapter.AvailableWiFiAdapter;
|
||||
import com.uiuios.aios.adapter.SavedWiFiAdapter;
|
||||
import com.uiuios.aios.base.BaseActivity;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.WiFiInfo;
|
||||
|
||||
import com.uiuios.aios.view.HorizontalItemDecoration;
|
||||
|
||||
import java.util.List;
|
||||
@@ -27,7 +27,7 @@ import java.util.List;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class WiFiManagerActivity extends BaseActivity implements WiFiContact.WiFiView {
|
||||
public class WiFiManagerActivity extends BaseDataBindingActivity implements WiFiContact.WiFiView {
|
||||
|
||||
|
||||
@BindView(R.id.iv_close)
|
||||
@@ -46,18 +46,13 @@ public class WiFiManagerActivity extends BaseActivity implements WiFiContact.WiF
|
||||
private AvailableWiFiAdapter mAvailableWiFiAdapter;
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_wifi_manager;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setNightMode() {
|
||||
public boolean setNightMode() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setfitWindow() {
|
||||
return true;
|
||||
protected void initDataBinding() {
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_wifi_manager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -63,7 +63,7 @@ public class DailyAppAdapter extends RecyclerView.Adapter<DailyAppAdapter.Holder
|
||||
ApkUtils.openPackage(mContext, dailyAppBean.getPackageName(), dailyAppBean.getClassName());
|
||||
AppUsedTimeUtils.getInstance().setAppPackageName(dailyAppBean.getPackageName());
|
||||
AppUsedTimeUtils.getInstance().setStartTime(System.currentTimeMillis());
|
||||
SendRunningApp(mContext);
|
||||
// SendRunningApp(mContext);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.uiuios.aios.base;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
public abstract class BaseActivity extends BaseTransparentActivity {
|
||||
|
||||
public BaseActivity() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
@CallSuper
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(getLayoutId());
|
||||
initView();
|
||||
initData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
protected abstract void initView();
|
||||
|
||||
/**
|
||||
* 初始化数据
|
||||
*/
|
||||
protected abstract void initData();
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiuios.aios.BuildConfig;
|
||||
import com.uiuios.aios.alarm.AlarmUtils;
|
||||
import com.uiuios.aios.manager.AmapManager;
|
||||
import com.uiuios.aios.manager.AppManager;
|
||||
import com.uiuios.aios.manager.AppStatusManager;
|
||||
import com.uiuios.aios.manager.ConnectManager;
|
||||
@@ -59,6 +60,7 @@ public class BaseApplication extends Application {
|
||||
AlarmUtils.init(this);
|
||||
ShortcutUtils.init(this);
|
||||
|
||||
AmapManager.init(this);
|
||||
HeConfig.init("HE2210211540591362", "fe42a7bb59b14eefb27eea4fb2c40e99");
|
||||
//切换至开发版服务
|
||||
HeConfig.switchToDevService();
|
||||
|
||||
@@ -5,7 +5,11 @@ import android.os.Bundle;
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
public abstract class BaseDataBindingActivity extends BaseTransparentActivity {
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.base.rx.BaseRxActivity;
|
||||
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
|
||||
|
||||
public abstract class BaseDataBindingActivity extends BaseRxActivity {
|
||||
|
||||
public BaseDataBindingActivity() {
|
||||
super();
|
||||
@@ -15,10 +19,43 @@ public abstract class BaseDataBindingActivity extends BaseTransparentActivity {
|
||||
@CallSuper
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
// StatusBarUtil.init(this);
|
||||
UltimateBarX.statusBar(this)
|
||||
.transparent()
|
||||
.colorRes(R.color.colorPrimaryDark)
|
||||
.light(setNightMode())
|
||||
.fitWindow(setfitWindow())
|
||||
.apply();
|
||||
UltimateBarX.navigationBar(this)
|
||||
.transparent()
|
||||
.colorRes(R.color.colorPrimaryDark)
|
||||
.light(setNightMode())
|
||||
.fitWindow(setfitWindow())
|
||||
.apply();
|
||||
initDataBinding();
|
||||
initView();
|
||||
initData();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 是否是黑色状态栏
|
||||
*/
|
||||
// protected abstract boolean setNightMode();
|
||||
public boolean setNightMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 是否是入侵
|
||||
*/
|
||||
// protected abstract boolean setNightMode();
|
||||
public boolean setfitWindow() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
protected abstract void initDataBinding();
|
||||
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
|
||||
@@ -1,64 +1,15 @@
|
||||
package com.uiuios.aios.base;
|
||||
|
||||
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.uiuios.aios.base.rx.BaseRxFragment;
|
||||
|
||||
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;
|
||||
|
||||
public abstract class BaseFragment extends Fragment implements LifecycleProvider<FragmentEvent> {
|
||||
public final BehaviorSubject<FragmentEvent> lifecycleSubject = BehaviorSubject.create();
|
||||
public abstract class BaseFragment extends BaseRxFragment {
|
||||
|
||||
protected boolean isViewInitiated;
|
||||
protected boolean isVisibleToUser;
|
||||
protected boolean isDataInitiated;
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final Observable<FragmentEvent> lifecycle() {
|
||||
return lifecycleSubject.hide();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final <T> LifecycleTransformer<T> bindUntilEvent(@NonNull FragmentEvent event) {
|
||||
return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final <T> LifecycleTransformer<T> 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();
|
||||
}
|
||||
}
|
||||
|
||||
100
app/src/main/java/com/uiuios/aios/base/BaseLazyFragment.java
Normal file
100
app/src/main/java/com/uiuios/aios/base/BaseLazyFragment.java
Normal file
@@ -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();
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.uiuios.aios.base;
|
||||
package com.uiuios.aios.base.rx;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
123
app/src/main/java/com/uiuios/aios/base/rx/BaseRxFragment.java
Normal file
123
app/src/main/java/com/uiuios/aios/base/rx/BaseRxFragment.java
Normal file
@@ -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<FragmentEvent> {
|
||||
private final BehaviorSubject<FragmentEvent> lifecycleSubject = BehaviorSubject.create();
|
||||
|
||||
public BehaviorSubject<FragmentEvent> getLifecycleSubject() {
|
||||
return lifecycleSubject;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final Observable<FragmentEvent> lifecycle() {
|
||||
return lifecycleSubject.hide();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final <T> LifecycleTransformer<T> bindUntilEvent(@NonNull FragmentEvent event) {
|
||||
return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
@CheckResult
|
||||
public final <T> LifecycleTransformer<T> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<ActivityEvent> {
|
||||
public abstract class BaseRxService extends Service implements LifecycleProvider<ActivityEvent> {
|
||||
public final BehaviorSubject<ActivityEvent> lifecycleSubject = BehaviorSubject.create();
|
||||
|
||||
public BaseService() {
|
||||
public BaseRxService() {
|
||||
super();
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
/*首次进入桌面*/
|
||||
|
||||
@@ -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<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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<BaseResponse<UserAvatarInfo>>() {
|
||||
// @Override
|
||||
// public void onSubscribe(@NonNull Disposable d) {
|
||||
// Log.e("getUserAvatarInfoControl", "onSubscribe: ");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onNext(@NonNull BaseResponse<UserAvatarInfo> 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<AlarmClockData> 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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
/**
|
||||
* 实况天气数据
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
217
app/src/main/java/com/uiuios/aios/manager/AmapManager.java
Normal file
217
app/src/main/java/com/uiuios/aios/manager/AmapManager.java
Normal file
@@ -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<MapBean>() {
|
||||
}.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<BaseResponse>() {
|
||||
@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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<MapBean>() {
|
||||
}.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());
|
||||
}
|
||||
|
||||
@@ -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<BaseResponse> 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);
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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<BaseResponse> updateAddress(
|
||||
@Field("sn") String sn,
|
||||
@Field("address") String address,
|
||||
@Field("longitude") double longitude,
|
||||
@Field("latitude") double latitude
|
||||
);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
<!--设置无标题-->
|
||||
<item name="windowNoTitle">true</item>
|
||||
<!--是否浮现在activity之上-->
|
||||
<item name="android:windowIsFloating">false</item>
|
||||
<!--为false会导致windowCloseOnTouchOutside 失效-->
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
<!--是否半透明-->
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<!--设置窗口内容不覆盖-->
|
||||
@@ -37,6 +38,7 @@
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
|
||||
<!--背景是否模糊显示-->
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
<item name="android:windowCloseOnTouchOutside">true</item>
|
||||
</style>
|
||||
|
||||
<style name="FloatingWindow" parent="Theme.AppCompat.NoActionBar">
|
||||
|
||||
Reference in New Issue
Block a user