From 79ea8888c14c6f98f3f75ff5913054f4110c4bdc Mon Sep 17 00:00:00 2001
From: Administrator <981964879@qq.com>
Date: Fri, 25 Dec 2020 11:09:47 +0800
Subject: [PATCH] =?UTF-8?q?update:2020.12.25=20fix:=E6=96=B0=E5=90=8E?=
=?UTF-8?q?=E5=8F=B0=E5=AF=B9=E6=8E=A5=E5=AE=8C=E6=88=90=20add:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/build.gradle | 54 +-
app/src/main/AndroidManifest.xml | 30 +-
.../main/java/com/info/sn/MyApplication.java | 389 --------
.../info/sn/{ => activity}/MainActivity.java | 360 +++++--
.../java/com/info/sn/base/MyApplication.java | 147 +++
.../main/java/com/info/sn/bean/AppInfo.java | 223 +++++
.../main/java/com/info/sn/bean/AppJump.java | 34 +
.../main/java/com/info/sn/bean/AppStart.java | 52 +
.../java/com/info/sn/bean/BaseResponse.java | 25 +
.../java/com/info/sn/bean/BrowserBean.java | 25 +
.../java/com/info/sn/bean/BrowserLabel.java | 35 +
.../java/com/info/sn/bean/MessageWhat.java | 6 -
.../java/com/info/sn/bean/SystemSettings.java | 249 +++++
.../main/java/com/info/sn/bean/UserInfo.java | 38 +-
.../com/info/sn/jpush/ExampleApplication.java | 5 +-
.../info/sn/jpush/MyJPushMessageReceiver.java | 3 +-
.../java/com/info/sn/jpush/MyReceiver.java | 171 +++-
.../com/info/sn/network/HTTPInterface.java | 922 ++++++++++++++++++
.../com/info/sn/network/NetWorkManager.java | 195 ++++
.../java/com/info/sn/network/UrlAddress.java | 37 +
.../java/com/info/sn/network/UrlPath.java | 28 -
.../java/com/info/sn/network/api/APPJump.java | 18 +
.../info/sn/network/api/AddAppInstall.java | 21 +
.../java/com/info/sn/network/api/Applog.java | 20 +
.../com/info/sn/network/api/BindDevices.java | 17 +
.../java/com/info/sn/network/api/Browser.java | 15 +
.../com/info/sn/network/api/ForceInstall.java | 19 +
.../info/sn/network/api/HTTPInterface.java | 451 ---------
.../java/com/info/sn/network/api/Label.java | 19 +
.../info/sn/network/api/QuerySnAppStart.java | 18 +
.../java/com/info/sn/network/api/SNInfo.java | 16 +
.../java/com/info/sn/network/api/Setting.java | 16 +
.../info/sn/network/api/UpdateAdminSn.java | 21 +
.../info/sn/receiver/APKinstallReceiver.java | 13 +-
.../com/info/sn/receiver/BootReceiver.java | 4 +-
.../com/info/sn/service/InitJpushServer.java | 18 +-
.../info/sn/service/MyDownloadService.java | 125 +--
.../java/com/info/sn/service/StepService.java | 8 +-
.../main/java/com/info/sn/utils/ApkUtils.java | 202 ++--
.../java/com/info/sn/utils/FileUtils.java | 88 ++
.../main/java/com/info/sn/utils/LogUtils.java | 4 +-
.../main/java/com/info/sn/utils/SPUtils.java | 33 +-
.../com/info/sn/utils/ServiceAliveUtils.java | 4 +-
.../main/java/com/info/sn/utils/Utils.java | 715 ++++++++++++--
.../java/com/info/sn/view/CustomDialog.java | 17 +-
.../JWebSocketClient.java | 2 +-
.../res/{drawable => drawable-hdpi}/bind.png | Bin
.../{drawable => drawable-hdpi}/bt_return.png | Bin
.../res/{drawable => drawable-hdpi}/logo.png | Bin
.../res/{drawable => drawable-hdpi}/mask.png | Bin
.../res/drawable/ic_launcher_background.xml | 170 ----
.../main/res/layout-land/activity_main.xml | 91 +-
.../main/res/layout-land/custom_dialog.xml | 21 +-
.../main/res/layout-port/activity_main.xml | 89 +-
.../main/res/layout-port/custom_dialog.xml | 21 +-
app/src/main/res/values-sw1024dp/dimens.xml | 419 --------
app/src/main/res/values-sw1280dp/dimens.xml | 419 --------
app/src/main/res/values-sw1365dp/dimens.xml | 419 --------
app/src/main/res/values-sw320dp/dimens.xml | 419 --------
app/src/main/res/values-sw360dp/dimens.xml | 419 --------
app/src/main/res/values-sw384dp/dimens.xml | 419 --------
app/src/main/res/values-sw392dp/dimens.xml | 419 --------
app/src/main/res/values-sw400dp/dimens.xml | 419 --------
app/src/main/res/values-sw410dp/dimens.xml | 419 --------
app/src/main/res/values-sw411dp/dimens.xml | 419 --------
app/src/main/res/values-sw432dp/dimens.xml | 419 --------
app/src/main/res/values-sw480dp/dimens.xml | 419 --------
app/src/main/res/values-sw533dp/dimens.xml | 419 --------
app/src/main/res/values-sw592dp/dimens.xml | 419 --------
app/src/main/res/values-sw600dp/dimens.xml | 419 --------
app/src/main/res/values-sw640dp/dimens.xml | 419 --------
app/src/main/res/values-sw662dp/dimens.xml | 419 --------
app/src/main/res/values-sw720dp/dimens.xml | 419 --------
app/src/main/res/values-sw768dp/dimens.xml | 419 --------
app/src/main/res/values-sw800dp/dimens.xml | 419 --------
app/src/main/res/values-sw811dp/dimens.xml | 419 --------
app/src/main/res/values-sw820dp/dimens.xml | 419 --------
app/src/main/res/values-sw960dp/dimens.xml | 419 --------
app/src/main/res/values-sw961dp/dimens.xml | 419 --------
app/src/main/res/values/dimens.xml | 427 --------
80 files changed, 3636 insertions(+), 12151 deletions(-)
delete mode 100644 app/src/main/java/com/info/sn/MyApplication.java
rename app/src/main/java/com/info/sn/{ => activity}/MainActivity.java (65%)
create mode 100644 app/src/main/java/com/info/sn/base/MyApplication.java
create mode 100644 app/src/main/java/com/info/sn/bean/AppInfo.java
create mode 100644 app/src/main/java/com/info/sn/bean/AppJump.java
create mode 100644 app/src/main/java/com/info/sn/bean/AppStart.java
create mode 100644 app/src/main/java/com/info/sn/bean/BaseResponse.java
create mode 100644 app/src/main/java/com/info/sn/bean/BrowserBean.java
create mode 100644 app/src/main/java/com/info/sn/bean/BrowserLabel.java
delete mode 100644 app/src/main/java/com/info/sn/bean/MessageWhat.java
create mode 100644 app/src/main/java/com/info/sn/bean/SystemSettings.java
create mode 100644 app/src/main/java/com/info/sn/network/HTTPInterface.java
create mode 100644 app/src/main/java/com/info/sn/network/NetWorkManager.java
create mode 100644 app/src/main/java/com/info/sn/network/UrlAddress.java
delete mode 100644 app/src/main/java/com/info/sn/network/UrlPath.java
create mode 100644 app/src/main/java/com/info/sn/network/api/APPJump.java
create mode 100644 app/src/main/java/com/info/sn/network/api/AddAppInstall.java
create mode 100644 app/src/main/java/com/info/sn/network/api/Applog.java
create mode 100644 app/src/main/java/com/info/sn/network/api/BindDevices.java
create mode 100644 app/src/main/java/com/info/sn/network/api/Browser.java
create mode 100644 app/src/main/java/com/info/sn/network/api/ForceInstall.java
delete mode 100644 app/src/main/java/com/info/sn/network/api/HTTPInterface.java
create mode 100644 app/src/main/java/com/info/sn/network/api/Label.java
create mode 100644 app/src/main/java/com/info/sn/network/api/QuerySnAppStart.java
create mode 100644 app/src/main/java/com/info/sn/network/api/SNInfo.java
create mode 100644 app/src/main/java/com/info/sn/network/api/Setting.java
create mode 100644 app/src/main/java/com/info/sn/network/api/UpdateAdminSn.java
create mode 100644 app/src/main/java/com/info/sn/utils/FileUtils.java
rename app/src/main/java/com/info/sn/{network => websocket}/JWebSocketClient.java (96%)
rename app/src/main/res/{drawable => drawable-hdpi}/bind.png (100%)
rename app/src/main/res/{drawable => drawable-hdpi}/bt_return.png (100%)
rename app/src/main/res/{drawable => drawable-hdpi}/logo.png (100%)
rename app/src/main/res/{drawable => drawable-hdpi}/mask.png (100%)
delete mode 100644 app/src/main/res/drawable/ic_launcher_background.xml
delete mode 100644 app/src/main/res/values-sw1024dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw1280dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw1365dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw320dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw360dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw384dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw392dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw400dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw410dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw411dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw432dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw480dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw533dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw592dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw600dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw640dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw662dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw720dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw768dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw800dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw811dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw820dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw960dp/dimens.xml
delete mode 100644 app/src/main/res/values-sw961dp/dimens.xml
delete mode 100644 app/src/main/res/values/dimens.xml
diff --git a/app/build.gradle b/app/build.gradle
index c12dc43..2854145 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -15,13 +15,13 @@ android {
applicationId "com.info.sn"
minSdkVersion 23
targetSdkVersion 28
- versionCode 25
- versionName "1.2.5"
+ versionCode 26
+ versionName "1.2.6"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
//选择要添加的对应 cpu 类型的 .so 库。
- abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a',"x86"
+ abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', "x86"
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
manifestPlaceholders = [
@@ -112,32 +112,48 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'androidx.appcompat:appcompat:1.1.0'
-// implementation 'com.android.support:multidex:1.0.3'
- implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'androidx.test.ext:junit:1.1.1'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
+ //implementation 'com.android.support:multidex:1.0.3'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+ testImplementation 'junit:junit:4.13.1'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
- implementation 'com.google.zxing:core:3.2.1'
-
- implementation 'cn.jiguang.sdk:jpush:3.3.4' // 此处以JPush 3.3.4 版本为例。
- implementation 'cn.jiguang.sdk:jcore:2.1.2' // 此处以JCore 2.1.2 版本为例。
+ //极光推送
+ implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.8.6 版本为例。
+ implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.6.0 版本为例。
//动态权限框架
implementation 'com.hjq:xxpermissions:6.0'
+ //okhttp
+ implementation 'com.squareup.okhttp3:okhttp:4.6.0'
+ //RxJava和Retrofit
+ implementation 'io.reactivex.rxjava2:rxjava:2.2.5'
+ implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
+ implementation 'com.squareup.retrofit2:retrofit:2.3.0'
+ implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
+ implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
+
//http框架
- implementation 'com.lzy.net:okgo:3.0.4'
- implementation 'com.lzy.net:okrx:0.1.2'
- implementation 'com.lzy.net:okserver:2.0.5'
+ //implementation 'com.lzy.net:okgo:3.0.4'
+ //implementation 'com.lzy.net:okrx:0.1.2'
+ //implementation 'com.lzy.net:okserver:2.0.5'
- implementation 'com.alibaba:fastjson:1.2.21'
- implementation 'com.blankj:utilcode:1.26.0'
+ implementation 'com.google.code.gson:gson:2.8.6'
+ implementation 'com.google.zxing:core:3.3.0'
+
+ implementation 'com.alibaba:fastjson:1.2.70'
+
+
+ //implementation 'com.blankj:utilcode:1.26.0'
implementation 'com.arialyy.aria:core:3.8.5'
annotationProcessor 'com.arialyy.aria:compiler:3.8.5'
implementation "org.java-websocket:Java-WebSocket:1.4.1"
+
//高德地图定位
implementation 'com.amap.api:location:5.1.0'
-
+ //屏幕适配方案
+ //https://github.com/JessYanCoding/AndroidAutoSize
+ implementation 'me.jessyan:autosize:1.2.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 280528e..8d571bc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,7 @@
-
@@ -90,8 +91,9 @@
-
+ android:exported="true"
+ android:permission="com.example.broadcast.permission">
+
@@ -112,12 +114,14 @@
+ android:theme="@style/MyDialogStyle"
+ tools:replace="android:exported" />
+ android:theme="@android:style/Theme.NoTitleBar"
+ tools:replace="android:exported">
@@ -205,7 +209,7 @@
@@ -227,16 +231,24 @@
+ android:exported="true" />
+
+ android:value="edf9cec22731b8b2fed56ee6" />
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/info/sn/MyApplication.java b/app/src/main/java/com/info/sn/MyApplication.java
deleted file mode 100644
index 670a0e2..0000000
--- a/app/src/main/java/com/info/sn/MyApplication.java
+++ /dev/null
@@ -1,389 +0,0 @@
-package com.info.sn;
-
-import android.annotation.SuppressLint;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.app.Application;
-import android.app.usage.UsageStats;
-import android.app.usage.UsageStatsManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.PackageManager;
-import android.os.Environment;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-import android.util.Log;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.Toast;
-
-import com.alibaba.fastjson.JSON;
-import com.arialyy.annotations.Download;
-import com.arialyy.aria.core.Aria;
-import com.arialyy.aria.core.download.DownloadEntity;
-import com.arialyy.aria.core.task.DownloadTask;
-import com.blankj.utilcode.util.ToastUtils;
-import com.info.sn.jpush.LocalBroadcastManager;
-import com.info.sn.jpush.TagAliasOperatorHelper;
-import com.info.sn.network.UrlPath;
-import com.info.sn.network.api.HTTPInterface;
-import com.info.sn.service.MyDownloadService;
-import com.info.sn.utils.ApkUtils;
-import com.info.sn.utils.LogUtils;
-import com.info.sn.utils.SPUtils;
-import com.info.sn.utils.ToastUtil;
-import com.info.sn.utils.Utils;
-import com.info.sn.view.CustomDialog;
-import com.info.sn.view.InfoDialog;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.StringCallback;
-import com.lzy.okgo.model.Response;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.File;
-import java.net.URI;
-import java.util.List;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import java.util.concurrent.TimeUnit;
-
-import cn.jpush.android.api.CustomMessage;
-import cn.jpush.android.api.JPushInterface;
-import cn.jpush.android.api.JPushMessage;
-import rx.Observable;
-import rx.functions.Action1;
-
-//import com.blankj.utilcode.util.NetworkUtils;
-
-//public class MyApplication extends Application implements NetworkUtils.OnNetworkStatusChangedListener {
-public class MyApplication extends Application {
- public static Context context;
- private static MyApplication app;
-
- @Override
- public void onCreate() {
- super.onCreate();
- app = this;
- ToastUtil.init(this);
- context = getApplicationContext();
- ToastUtil.init(this);
- OkGo.getInstance().init(this);
-// NetworkUtils.registerNetworkStatusChangedListener(this);
- Aria.init(this);
- Aria.download(this).resumeAllTask();
- if (!BuildConfig.DEBUG) {
- catchException();
- }
- }
-
- private void catchException() {
- Thread.setDefaultUncaughtExceptionHandler(
- new Thread.UncaughtExceptionHandler() {
- @Override
- public void uncaughtException(Thread t, Throwable e) {
- Log.d("捕获异常子线程:", Thread.currentThread().getName() +
- "在:" + e.getStackTrace()[0].getClassName());
- }
- }
- );
- //下面是新增方法!
- new Handler(Looper.getMainLooper()).post(new Runnable() {
- @Override
- public void run() {
- while (true) {
- try {
- Looper.loop(); //会先执行这个方法,然后在执行下面的异常捕获方法!
- } catch (Exception e) {
- Log.d("捕获异常主线程:", Thread.currentThread().getName() + "在:" + e.getStackTrace()[0].getClassName());
- e.printStackTrace();
- }
- }
- }
- });
- }
-
-// protected void attachBaseContext(Context newBase) {
-// super.attachBaseContext(newBase);
-// MultiDex.install(this);
-// }
-
- @Override
- public void onTerminate() {
- super.onTerminate();
-// NetworkUtils.unregisterNetworkStatusChangedListener(this);
-
- }
-
- public static MyApplication getInstance() {
- return app;
- }
-
- public static Context getAppContext() {
- if (context == null) {
- context = getAppContext();
- }
- return context;
- }
-
-// public void onTagOperatorResult(JPushMessage jPushMessage) {
-// if (jPushMessage == null) {
-// return;
-// }
-// String s = "tags:\t";
-// int errorCode = jPushMessage.getErrorCode();
-// switch (errorCode) {
-// case 0:
-// Log.e("jiguangInterface", s + "Tag绑定成功");
-// break;
-// case 6001:
-// Log.e("jiguangInterface", s + "无效的设置");
-// break;
-// case 6005:
-// Log.e("jiguangInterface", s + "某一个 tag 字符串不合法");
-// ToastUtil.show("设备标签不合法,联系管理员修改\t" + "code:6005");
-// break;
-// case 6006:
-// Log.e("jiguangInterface", s + "某一个 tag 超长");
-// ToastUtil.show("设备标签过长,联系管理员修改\t" + "code:6006");
-// break;
-// case 6007:
-// Log.e("jiguangInterface", s + "tags 数量超出限制");
-// ToastUtil.show("设备标签数量超出限制,联系管理员修改\t" + "code:6007");
-// break;
-// case 6008:
-// Log.e("jiguangInterface", s + "tag 超出总长度限制");
-// ToastUtil.show("设备标签超出总长度限制,联系管理员修改\t" + "code:6008");
-// break;
-// case 6011:
-// Log.e("jiguangInterface", s + "短时间内操作过于频繁");
-// break;
-// case 6013:
-// Log.e("jiguangInterface", s + "用户设备时间轴异常");
-// ToastUtil.show("用户设备时间轴异常,修改后重新登陆\t" + "code:6013");
-// break;
-// case 6018:
-// Log.e("jiguangInterface", s + "Tags 过多");
-// ToastUtil.show("设备标签数量超出限制,联系管理员修改\t" + "code:6018");
-// break;
-// case 6021:
-// Log.e("jiguangInterface", s + "tags 操作正在进行中");
-// break;
-//
-// //需要重新设置
-// case 6002:
-// Log.e("jiguangInterface", s + "设置超时,请重试");
-// setJpushTags();
-// break;
-// case 6014:
-// Log.e("jiguangInterface", s + "服务器繁忙,建议重试");
-// setJpushTags();
-// break;
-// case 6020:
-// Log.e("jiguangInterface", s + "建议过一段时间再设置");
-// setJpushTags();
-// break;
-// case 6024:
-// Log.e("jiguangInterface", s + "服务器内部错误");
-// setJpushTags();
-// break;
-// }
-// }
-
-// public static void setJpushTags() {
-// Log.e("jiguangInterface", "10s后重新设置tags");
-// Observable.timer(10000, TimeUnit.MILLISECONDS)
-// .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
-// .subscribe(new Action1() {
-// @Override
-// public void call(Long aLong) {
-// HTTPInterface.setJpushTags(context);
-// }
-// });
-// }
-
-
- public void onAliasOperatorResult(JPushMessage jPushMessage) {
- if (jPushMessage == null) {
- return;
- }
- String s = "alias:\t";
- int errorCode = jPushMessage.getErrorCode();
- switch (errorCode) {
- case 0:
- Log.e("jiguangInterface", s + "Alias绑定成功");
- break;
- case 6001:
- Log.e("jiguangInterface", s + "无效的设置");
- break;
- case 6011:
- Log.e("jiguangInterface", s + "短时间内操作过于频繁");
- break;
- case 6013:
- Log.e("jiguangInterface", s + "用户设备时间轴异常");
- ToastUtil.show("用户设备时间轴异常,修改后重新登陆\t" + s + "code:6013");
- break;
- case 6022:
- Log.e("jiguangInterface", s + "alias 操作正在进行中");
- break;
-
-
- //需要重新设置
- case 6002:
- Log.e("jiguangInterface", s + "设置超时,请重试");
- setJpushAlias();
- break;
- case 6014:
- Log.e("jiguangInterface", s + "服务器繁忙,建议重试");
- setJpushAlias();
- break;
- case 6020:
- Log.e("jiguangInterface", s + "建议过一段时间再设置");
- setJpushAlias();
- break;
- case 6024:
- Log.e("jiguangInterface", s + "服务器内部错误");
- setJpushAlias();
- break;
-
- case 6017:
- case 6027:
- Log.e("jiguangInterface", s + "别名绑定的设备数超过限制");
- clean();
- setJpushAlias();
- break;
- }
- }
-
- public static void setJpushAlias() {
- Log.e("jiguangInterface", "10s后重新设置alias");
- Observable.timer(10000, TimeUnit.MILLISECONDS)
- .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
- .subscribe(new Action1() {
- @Override
- public void call(Long aLong) {
- JPushInterface.setAlias(context, TagAliasOperatorHelper.sequence++, Utils.getSerial());
- }
- });
- }
-
- public void clean() {
- //alias的绑定的设备超过10个,但是alias应该是一个设备对应一个,在重置设备后jpush的regid会变动,所以需要清除
- //https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5
-// HTTPInterface.cleanJpushAlias(Utils.getSerial());
- }
-
-
-
- synchronized public void manageCustomMessage(CustomMessage customMessage) {
- String sn_id = (String) SPUtils.get(context, "sn_id", "-1");
- String member_id = (String) SPUtils.get(context, "member_id", "-1");
- if (customMessage == null) {
- LogUtils.e("jiguang", "customMessage is NULL");
- } else {
- String MESSAGE = customMessage.message;
- //MESSAGE用作判断
- String TITLE = customMessage.title;
- String CONTENT_TYPE = customMessage.contentType;
- String EXTRA = customMessage.extra;
- LogUtils.e("EXTRA", EXTRA);
-// switch (MESSAGE) {
-// case JIGUANG_GET_DRIVELINE:
-// HTTPInterface.getDriveState(member_id, sn_id);
-// break;
-// case JIGUANG_GET_STARTTIME:
-// sendStartTime(EXTRA);
-// break;
-// case JIGUANG_USB_STATE:
-// setUsbState(EXTRA);
-// break;
-// case JIGUANG_TFCARD_STATE:
-// setTfcardState(EXTRA);
-// break;
-// case JIGUANG_BLUETOOTH_STATE:
-// setBluetoothState(EXTRA);
-// break;
-// case JIGUANG_BROWSER_URLPATH:
-// setBrowserUrlpath(EXTRA);
-// break;
-// case JIGUANG_APP_NETWORKSTATE:
-// setAppNetworkstate(EXTRA);
-// break;
-// case JIGUANG_APP_LOCKEDSTATE:
-// setAppLockedstate(EXTRA);
-// break;
-// case JIGUANG_FORCE_INSTALLAPK:
-// intallApk(EXTRA);
-// break;
-// case JIGUANG_FORCE_UNINSTALLAPK:
-// unintallApk(EXTRA);
-// break;
-// case JIGUANG_BIND_DEVIVES:
-// bindService(EXTRA);
-// break;
-// case JIGUANG_TFMEDIA:
-//
-// break;
-// case JIGUANG_CAMRERA:
-// break;
-// case JIGUANG_PHONE:
-// break;
-// }
-
-
- }
- }
-
-
- synchronized private void defaults(String jsonArray) {
- if (jsonArray.length() > 0) {
- try {
- JSONObject extra = new JSONObject(jsonArray);
- String packageName = extra.getString("package");
- int is_network = extra.getInt("is_network");
- } catch (JSONException e) {
- e.printStackTrace();
- LogUtils.e("defaults", e.getMessage());
- }
- } else {
- ToastUtil.debugShow("defaults jsonArray is NULL");
- }
- }
-
- //USB数据功能管控
- //仅充电:usb_charge
- //MTP模式:usb_mtp
- //Midi模式:usb_midi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// @Override
-// public void onDisconnected() {
-// LogUtils.e("onDisconnected", "网络断开");
-// }
-//
-// @Override
-// public void onConnected(NetworkUtils.NetworkType networkType) {
-// Aria.download(this).resumeAllTask();
-// LogUtils.e("onConnected", "网络连接");
-//
-// }
-
-
-}
diff --git a/app/src/main/java/com/info/sn/MainActivity.java b/app/src/main/java/com/info/sn/activity/MainActivity.java
similarity index 65%
rename from app/src/main/java/com/info/sn/MainActivity.java
rename to app/src/main/java/com/info/sn/activity/MainActivity.java
index b890679..727f6a6 100644
--- a/app/src/main/java/com/info/sn/MainActivity.java
+++ b/app/src/main/java/com/info/sn/activity/MainActivity.java
@@ -1,7 +1,4 @@
-package com.info.sn;
-
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.constraintlayout.widget.ConstraintLayout;
+package com.info.sn.activity;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
@@ -9,7 +6,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Bitmap;
@@ -26,8 +23,11 @@ import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
-import android.widget.Toast;
+import androidx.constraintlayout.widget.ConstraintLayout;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
@@ -36,29 +36,47 @@ import com.amap.api.location.AMapLocationQualityReport;
import com.hjq.permissions.OnPermission;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
+import com.info.sn.BuildConfig;
+import com.info.sn.R;
import com.info.sn.base.CheckPermissionsActivity;
+import com.info.sn.base.MyApplication;
+import com.info.sn.bean.AppInfo;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.bean.SystemSettings;
import com.info.sn.bean.UserInfo;
import com.info.sn.jpush.ExampleUtil;
import com.info.sn.jpush.LocalBroadcastManager;
import com.info.sn.jpush.TagAliasOperatorHelper;
-import com.info.sn.network.api.HTTPInterface;
+import com.info.sn.network.HTTPInterface;
+import com.info.sn.network.NetWorkManager;
+import com.info.sn.network.api.ForceInstall;
+import com.info.sn.network.api.SNInfo;
+import com.info.sn.network.api.Setting;
+import com.info.sn.service.GuardService;
+import com.info.sn.service.InitJpushServer;
import com.info.sn.service.MyDownloadService;
+import com.info.sn.service.StepService;
import com.info.sn.utils.ApkUtils;
+import com.info.sn.utils.FileUtils;
import com.info.sn.utils.LogUtils;
import com.info.sn.utils.SPUtils;
import com.info.sn.utils.ToastUtil;
import com.info.sn.utils.Utils;
-import com.info.sn.utils.amapUtils;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.FileCallback;
-import com.lzy.okgo.model.Progress;
-import com.lzy.okgo.model.Response;
import java.io.File;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.TimeUnit;
import cn.jpush.android.api.JPushInterface;
+import io.reactivex.Observable;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+import me.jessyan.autosize.internal.CustomAdapt;
+import retrofit2.http.HTTP;
import static com.info.sn.jpush.TagAliasOperatorHelper.ACTION_ADD;
import static com.info.sn.jpush.TagAliasOperatorHelper.ACTION_CHECK;
@@ -69,8 +87,8 @@ import static com.info.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
import static com.info.sn.jpush.TagAliasOperatorHelper.TagAliasBean;
import static com.info.sn.jpush.TagAliasOperatorHelper.sequence;
-public class MainActivity extends CheckPermissionsActivity implements AMapLocationListener {
- AMapLocationClient locationClient = null;
+public class MainActivity extends CheckPermissionsActivity implements AMapLocationListener, CustomAdapt {
+ private static final String TAG = "MainActivity";
public static final String REFRESHACTION = BuildConfig.APPLICATION_ID + ".REFRESH";
public static boolean isForeground = false;
@@ -87,23 +105,12 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- locationClient = new AMapLocationClient(this);
- AMapLocationClientOption option = new AMapLocationClientOption();
- option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
- option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
- option.setNeedAddress(true);
- locationClient.setLocationOption(option);
- //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
- //设置定位监听
- locationClient.setLocationListener(this);
- locationClient.startLocation();
-// if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
-// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
-// }
-
+ starService();
+ initAmap();
PackageManager pm = getPackageManager();
//后台为0可能传过来null
pm.setApplicationEnabledSetting("com.info.sn", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
+
requestPermission();
registerMessageReceiver(); // used for receive msg
registerRefreshReceiver();
@@ -118,13 +125,81 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
}
initView();
initData();
- HTTPInterface.checkDevicesInfo(handler);
- HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
- startService(new Intent(MainActivity.this, MyDownloadService.class));
- HTTPInterface.getAllAppPackageName(MainActivity.this);
- HTTPInterface.setBrowser(MainActivity.this);
+// HTTPInterface.checkDevicesInfo(handler);
+ checkDevicesInfo();
+// HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
+// startService(new Intent(MainActivity.this, MyDownloadService.class));
+// HTTPInterface.getAllAppPackageName(MainActivity.this);
+// HTTPInterface.setBrowser(MainActivity.this);
+ delay(MainActivity.this);
+// HTTPInterface.get_settings(MainActivity.this);
}
+ private void initAmap() {
+ AMapLocationClient aMapLocationClient = MyApplication.getLocationClient();
+ aMapLocationClient.setLocationListener(new AMapLocationListener() {
+ @Override
+ public void onLocationChanged(AMapLocation aMapLocation) {
+ StringBuffer sb = new StringBuffer();
+ //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
+ if (aMapLocation.getErrorCode() == 0) {
+ sb.append(aMapLocation.getAddress() + "\n");
+ SPUtils.put(MainActivity.this, "AmapAddress", aMapLocation.getAddress());
+ SPUtils.put(MainActivity.this, "longitude", aMapLocation.getLongitude());
+ SPUtils.put(MainActivity.this, "latitude", aMapLocation.getLatitude());
+ } else {
+ //定位失败
+ sb.append("定位失败" + "\n");
+ SPUtils.put(MainActivity.this, "AmapError", aMapLocation.getErrorInfo());
+ }
+ HTTPInterface.updateAdminInfo(MainActivity.this);
+ }
+ });
+ aMapLocationClient.stopLocation();
+ aMapLocationClient.startLocation();
+ }
+
+
+ private void delay(final Context context) {
+ Observable.timer(10000, TimeUnit.MILLISECONDS)
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull Long aLong) {
+ HTTPInterface.setBrowser(context);
+ HTTPInterface.getBrowserLabel(context);
+ getSystemSettings(context);
+ getForceInstall(context);
+ HTTPInterface.getAppStart(context);
+ HTTPInterface.getAppJump(context);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("delay", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("delay", "onComplete: ");
+
+ }
+ });
+ }
+
+ private void starService() {
+ startService(new Intent(this, GuardService.class));
+ startService(new Intent(this, StepService.class));
+ startService(new Intent(this, InitJpushServer.class));
+ startService(new Intent(this, MyDownloadService.class));
+ }
+
+
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
@@ -209,11 +284,39 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
@Override
public void onReceive(Context context, Intent intent) {
if (REFRESHACTION.equals(intent.getAction())) {
- HTTPInterface.checkDevicesInfo(handler);
+// HTTPInterface.checkDevicesInfo(handler);
+ checkDevicesInfo();
}
}
}
+
+
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ Log.e(TAG, "onResume: ");
+ checkDevicesInfo();
+ }
+
+ @Override
+ public boolean isBaseOnWidth() {
+ if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
+ return true;
+ } else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ return false;
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public float getSizeInDp() {
+ return 360;
+ }
+
+
private void initView() {
tv_note = findViewById(R.id.tv_note);
imageView = findViewById(R.id.imageView);
@@ -252,7 +355,7 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) {
mHits = new long[COUNTS];//重新初始化数组
ToastUtil.show("正在检查更新");
- HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
+// HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
}
}
@@ -267,11 +370,149 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
break;
case 2:
setImageAndText(imageView, "未经验证的设备,请联系客服");
-
break;
}
}
+ private void checkDevicesInfo() {
+ SNInfo snInfo = NetWorkManager.getsnInfoControl();
+ snInfo.getsninfo(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse userInfoBaseResponse) {
+ int code = userInfoBaseResponse.code;
+ if (code == 200) {
+ UserInfo userInfo = userInfoBaseResponse.data;
+ SPUtils.put(MainActivity.this, "isLogined", 1);
+ SPUtils.put(MainActivity.this, "member_id", userInfo.getMember_id());
+ SPUtils.put(MainActivity.this, "sn_id", userInfo.getId());
+ setImageAndText(imageView, "设备已绑定");
+ setUserInfo(userInfo);
+ } else if (code == -200) {
+ SPUtils.put(MainActivity.this, "isLogined", 0);
+ setImageAndText(imageView, "设备未绑定");
+ setUserInfo();
+ } else if (code == -250) {
+ SPUtils.put(MainActivity.this, "isLogined", 2);
+ setImageAndText(imageView, "未经验证的设备,请联系客服");
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e(TAG, "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void getSystemSettings(final Context context) {
+ Setting setting = NetWorkManager.getsettingControl();
+ setting.getSetting(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse systemSettingsBaseResponse) {
+ int code = systemSettingsBaseResponse.code;
+ if (code == 200) {
+ SystemSettings settings = systemSettingsBaseResponse.data;
+ Utils.setSystemSetting(context, settings.toString());
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e(TAG, "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ private void getForceInstall(final Context context) {
+ ForceInstall forceInstall = NetWorkManager.getForceInstallControl();
+ forceInstall.getForceInstall(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> listBaseResponse) {
+ int code = listBaseResponse.code;
+ if (code == 200) {
+ List appInfos = listBaseResponse.data;
+ if (null != appInfos && appInfos.size() != 0) {
+ getForceInstallState(context, appInfos);
+ }
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getForceInstall", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void getForceInstallState(Context context, List list) {
+ if (null != list && list.size() != 0) {
+ PackageManager pm = context.getPackageManager();
+ for (AppInfo appInfo : list) {
+ PackageInfo info = null;
+ try {
+ info = pm.getPackageInfo(appInfo.getApp_package(), 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+ if (null != info) {
+ long appVersionCode;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ appVersionCode = info.getLongVersionCode();
+ } else {
+ appVersionCode = info.versionCode;
+ }
+ if (appVersionCode < appInfo.getApp_version_code()) {
+ JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo);
+ FileUtils.ariaDownload(context, appInfo.getApp_url(), jsonObject);
+ }
+ } else {
+ JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo);
+ FileUtils.ariaDownload(context, appInfo.getApp_url(), jsonObject);
+ }
+ }
+ }
+ }
+
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
@@ -299,8 +540,8 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
private void setUserInfo(UserInfo userInfo) {
String name = userInfo.getSn_name();
- String school = userInfo.getSn_school();
- String grade = userInfo.getSn_grade();
+ String school = userInfo.getSchool();
+ String grade = userInfo.getGrade();
if (name == null || name.equals("")) {
tv_username.setText("未设置");
} else {
@@ -319,10 +560,9 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
}
private void setUserInfo() {
- tv_username.setText("未设置");
- tv_school.setText("未设置");
- tv_grade.setText("未设置");
- tv_grade.setText("未设置");
+ tv_username.setText("");
+ tv_school.setText("");
+ tv_grade.setText("");
}
private String getGrade(String grade) {
@@ -432,43 +672,7 @@ public class MainActivity extends CheckPermissionsActivity implements AMapLocati
ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
ad.show();
} else {
- OkGo.get(url)
- .execute(new FileCallback("Sninfo/" + url.substring(url.lastIndexOf("/") + 1)) {
- @Override
- public void onSuccess(final Response response) {
-// Settings.System.putString(getApplicationContext().getContentResolver(), "qch_app_forbid", "com.baidu.video");
-// ApkUtils.installApkInSilence(response.body().getAbsolutePath(), Launcher.this.getPackageName());
- AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
- .setTitle("软件更新")
- .setIcon(R.mipmap.ic_launcher)
- .setCancelable(false)
- .setMessage("发现新版本,点击确定更新\n" + "更新内容:" + bundle.getString("content"))
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- ApkUtils.installApk(MainActivity.this, response.body());
- dialogInterface.dismiss();
- }
- });
- AlertDialog ad = builder.create();
- ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
- ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
- ad.show();
- Log.e("getFile", "download file successful,now installing");
- }
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("getFile", "File download Failure" + response.getException());
- }
-
- @Override
- public void downloadProgress(Progress progress) {
- super.downloadProgress(progress);
- Log.e("getFile", "已下载:" + progress.currentSize + ",总大小:" + progress.totalSize + ",进度:" + progress.fraction + ",当前网速:" + progress.speed);
- }
- });
}
}
diff --git a/app/src/main/java/com/info/sn/base/MyApplication.java b/app/src/main/java/com/info/sn/base/MyApplication.java
new file mode 100644
index 0000000..3abd432
--- /dev/null
+++ b/app/src/main/java/com/info/sn/base/MyApplication.java
@@ -0,0 +1,147 @@
+package com.info.sn.base;
+
+import android.app.Application;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+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.arialyy.aria.core.Aria;
+import com.info.sn.BuildConfig;
+import com.info.sn.activity.MainActivity;
+import com.info.sn.network.HTTPInterface;
+import com.info.sn.utils.LogUtils;
+import com.info.sn.utils.SPUtils;
+import com.info.sn.utils.ToastUtil;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+//import com.blankj.utilcode.util.NetworkUtils;
+
+//public class MyApplication extends Application implements NetworkUtils.OnNetworkStatusChangedListener {
+public class MyApplication extends Application {
+ public static Context context;
+ private static MyApplication app;
+ private static AMapLocationClient locationClient = null;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ app = this;
+ if (!BuildConfig.DEBUG) {
+ catchException();
+ }
+ ToastUtil.init(this);
+ context = getApplicationContext();
+ Aria.init(this);
+ Aria.download(this).resumeAllTask();
+
+ }
+
+ private void catchException() {
+ Thread.setDefaultUncaughtExceptionHandler(
+ new Thread.UncaughtExceptionHandler() {
+ @Override
+ public void uncaughtException(Thread t, Throwable e) {
+ Log.d("捕获异常子线程:", Thread.currentThread().getName() +
+ "在:" + e.getStackTrace()[0].getClassName());
+ }
+ }
+ );
+ //下面是新增方法!
+ new Handler(Looper.getMainLooper()).post(new Runnable() {
+ @Override
+ public void run() {
+ while (true) {
+ try {
+ Looper.loop(); //会先执行这个方法,然后在执行下面的异常捕获方法!
+ } catch (Exception e) {
+ Log.d("捕获异常主线程:", Thread.currentThread().getName() + "在:" + e.getStackTrace()[0].getClassName());
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+
+// protected void attachBaseContext(Context newBase) {
+// super.attachBaseContext(newBase);
+// MultiDex.install(this);
+// }
+
+
+ @Override
+ public void onTerminate() {
+ super.onTerminate();
+ //销毁时,需要销毁定位client
+ if (null != locationClient) {
+ locationClient.onDestroy();
+ }
+ }
+
+ public static MyApplication getInstance() {
+ return app;
+ }
+
+ public static Context getAppContext() {
+ if (context == null) {
+ context = getAppContext();
+ }
+ return context;
+ }
+
+ public static AMapLocationClient getLocationClient() {
+ if (null == locationClient) {
+ initAmap();
+ }
+ return locationClient;
+ }
+
+ private static void initAmap() {
+ locationClient = new AMapLocationClient(context);
+ AMapLocationClientOption option = new AMapLocationClientOption();
+ option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
+ option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
+ option.setNeedAddress(true);
+ //获取一次定位结果:
+ //该方法默认为false。
+ option.setOnceLocation(true);
+ //获取最近3s内精度最高的一次定位结果:
+ //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。
+ // 如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
+ option.setOnceLocationLatest(true);
+ locationClient.setLocationOption(option);
+ //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
+ //设置定位监听
+ locationClient.setLocationListener(new AMapLocationListener() {
+ @Override
+ public void onLocationChanged(AMapLocation aMapLocation) {
+ StringBuffer sb = new StringBuffer();
+ //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
+ if (aMapLocation.getErrorCode() == 0) {
+ sb.append(aMapLocation.getAddress() + "\n");
+ SPUtils.put(context, "AmapAddress", aMapLocation.getAddress());
+ SPUtils.put(context, "longitude", aMapLocation.getLongitude());
+ SPUtils.put(context, "latitude", aMapLocation.getLatitude());
+ } else {
+ //定位失败
+ sb.append("定位失败" + "\n");
+ SPUtils.put(context, "AmapError", aMapLocation.getErrorInfo());
+ }
+// Log.e("AmapAddress", (String) SPUtils.get(context, "AmapAddress", ""));
+// Log.e("AmapError", (String) SPUtils.get(context, "AmapError", ""));
+ Log.e("addr", sb.toString());
+ HTTPInterface.updateAdminInfo(context);
+ }
+ });
+ //设置场景模式后最好调用一次stop,再调用start以保证场景模式生效
+ locationClient.stopLocation();
+ locationClient.startLocation();
+ }
+
+}
diff --git a/app/src/main/java/com/info/sn/bean/AppInfo.java b/app/src/main/java/com/info/sn/bean/AppInfo.java
new file mode 100644
index 0000000..2394538
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/AppInfo.java
@@ -0,0 +1,223 @@
+package com.info.sn.bean;
+
+import java.io.Serializable;
+
+public class AppInfo implements Serializable {
+ private static final long serialVersionUID = 423463220624853188L;
+ private int app_id;
+ private String app_name;
+ private String app_package;
+ private String app_version_name;
+ private int app_version_code;
+ private long app_size;
+ private String app_desc;
+ private String app_url;
+ private String app_img;
+ private String app_preview1;
+ private String app_preview2;
+ private String app_preview3;
+ private String app_developer;
+ private String app_downloads;
+ private double app_score;
+ private int app_category;
+ private int app_subject;
+ private int app_type;
+ private int app_status;
+ private int is_delete;
+ private int is_update;
+ private int is_silent;
+ private String app_md5;
+ private String createtime;
+
+ public int getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(int app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getApp_name() {
+ return app_name;
+ }
+
+ public void setApp_name(String app_name) {
+ this.app_name = app_name;
+ }
+
+ public String getApp_package() {
+ return app_package;
+ }
+
+ public void setApp_package(String app_package) {
+ this.app_package = app_package;
+ }
+
+ public String getApp_version_name() {
+ return app_version_name;
+ }
+
+ public void setApp_version_name(String app_version_name) {
+ this.app_version_name = app_version_name;
+ }
+
+ public int getApp_version_code() {
+ return app_version_code;
+ }
+
+ public void setApp_version_code(int app_version_code) {
+ this.app_version_code = app_version_code;
+ }
+
+ public long getApp_size() {
+ return app_size;
+ }
+
+ public void setApp_size(long app_size) {
+ this.app_size = app_size;
+ }
+
+ public String getApp_desc() {
+ return app_desc;
+ }
+
+ public void setApp_desc(String app_desc) {
+ this.app_desc = app_desc;
+ }
+
+ public String getApp_url() {
+ return app_url;
+ }
+
+ public void setApp_url(String app_url) {
+ this.app_url = app_url;
+ }
+
+ public String getApp_img() {
+ return app_img;
+ }
+
+ public void setApp_img(String app_img) {
+ this.app_img = app_img;
+ }
+
+ public String getApp_preview1() {
+ return app_preview1;
+ }
+
+ public void setApp_preview1(String app_preview1) {
+ this.app_preview1 = app_preview1;
+ }
+
+ public String getApp_preview2() {
+ return app_preview2;
+ }
+
+ public void setApp_preview2(String app_preview2) {
+ this.app_preview2 = app_preview2;
+ }
+
+ public String getApp_preview3() {
+ return app_preview3;
+ }
+
+ public void setApp_preview3(String app_preview3) {
+ this.app_preview3 = app_preview3;
+ }
+
+ public String getApp_developer() {
+ return app_developer;
+ }
+
+ public void setApp_developer(String app_developer) {
+ this.app_developer = app_developer;
+ }
+
+ public String getApp_downloads() {
+ return app_downloads;
+ }
+
+ public void setApp_downloads(String app_downloads) {
+ this.app_downloads = app_downloads;
+ }
+
+ public double getApp_score() {
+ return app_score;
+ }
+
+ public void setApp_score(double app_score) {
+ this.app_score = app_score;
+ }
+
+ public int getApp_category() {
+ return app_category;
+ }
+
+ public void setApp_category(int app_category) {
+ this.app_category = app_category;
+ }
+
+ public int getApp_subject() {
+ return app_subject;
+ }
+
+ public void setApp_subject(int app_subject) {
+ this.app_subject = app_subject;
+ }
+
+ public int getApp_type() {
+ return app_type;
+ }
+
+ public void setApp_type(int app_type) {
+ this.app_type = app_type;
+ }
+
+ public int getApp_status() {
+ return app_status;
+ }
+
+ public void setApp_status(int app_status) {
+ this.app_status = app_status;
+ }
+
+ public int getIs_delete() {
+ return is_delete;
+ }
+
+ public void setIs_delete(int is_delete) {
+ this.is_delete = is_delete;
+ }
+
+ public int getIs_update() {
+ return is_update;
+ }
+
+ public void setIs_update(int is_update) {
+ this.is_update = is_update;
+ }
+
+ public int getIs_silent() {
+ return is_silent;
+ }
+
+ public void setIs_silent(int is_silent) {
+ this.is_silent = is_silent;
+ }
+
+ public String getCreatetime() {
+ return createtime;
+ }
+
+ public void setCreatetime(String createtime) {
+ this.createtime = createtime;
+ }
+
+ public String getApp_md5() {
+ return app_md5;
+ }
+
+ public void setApp_md5(String app_md5) {
+ this.app_md5 = app_md5;
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/AppJump.java b/app/src/main/java/com/info/sn/bean/AppJump.java
new file mode 100644
index 0000000..738c18e
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/AppJump.java
@@ -0,0 +1,34 @@
+package com.info.sn.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+
+public class AppJump implements Serializable {
+ private static final long serialVersionUID = -8285407084971138695L;
+ private String app_package;
+ private String address;
+
+ public String getApp_package() {
+ return app_package;
+ }
+
+ public void setApp_package(String app_package) {
+ this.app_package = app_package;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ @NonNull
+ @Override
+ public String toString() {
+
+ return app_package + "," + address;
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/AppStart.java b/app/src/main/java/com/info/sn/bean/AppStart.java
new file mode 100644
index 0000000..1b17e1b
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/AppStart.java
@@ -0,0 +1,52 @@
+package com.info.sn.bean;
+
+import java.io.Serializable;
+
+public class AppStart implements Serializable {
+ private static final long serialVersionUID = -4023020610471228336L;
+ private String app_package;
+ private int is_auto;
+ private int is_network;
+ private int is_upgrade;
+ private int is_slide;
+
+ public String getApp_package() {
+ return app_package;
+ }
+
+ public void setApp_package(String app_package) {
+ this.app_package = app_package;
+ }
+
+ public int getIs_auto() {
+ return is_auto;
+ }
+
+ public void setIs_auto(int is_auto) {
+ this.is_auto = is_auto;
+ }
+
+ public int getIs_network() {
+ return is_network;
+ }
+
+ public void setIs_network(int is_network) {
+ this.is_network = is_network;
+ }
+
+ public int getIs_upgrade() {
+ return is_upgrade;
+ }
+
+ public void setIs_upgrade(int is_upgrade) {
+ this.is_upgrade = is_upgrade;
+ }
+
+ public int getIs_slide() {
+ return is_slide;
+ }
+
+ public void setIs_slide(int is_slide) {
+ this.is_slide = is_slide;
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/BaseResponse.java b/app/src/main/java/com/info/sn/bean/BaseResponse.java
new file mode 100644
index 0000000..343e689
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/BaseResponse.java
@@ -0,0 +1,25 @@
+package com.info.sn.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+
+
+public class BaseResponse implements Serializable {
+
+ private static final long serialVersionUID = 5468533687801294972L;
+
+ public int code;
+ public String msg;
+ public T data;
+
+ @NonNull
+ @Override
+ public String toString() {
+ return "{\n" +//
+ "\tcode=" + code + "\n" +//
+ "\tmsg='" + msg + "\'\n" +//
+ "\tdata=" + data + "\n" +//
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/info/sn/bean/BrowserBean.java b/app/src/main/java/com/info/sn/bean/BrowserBean.java
new file mode 100644
index 0000000..2f87ddb
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/BrowserBean.java
@@ -0,0 +1,25 @@
+package com.info.sn.bean;
+
+import java.io.Serializable;
+
+public class BrowserBean implements Serializable {
+ private static final long serialVersionUID = 606139788929247720L;
+ private String address;
+ private int type;
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/BrowserLabel.java b/app/src/main/java/com/info/sn/bean/BrowserLabel.java
new file mode 100644
index 0000000..f983805
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/BrowserLabel.java
@@ -0,0 +1,35 @@
+package com.info.sn.bean;
+
+import java.io.Serializable;
+
+public class BrowserLabel implements Serializable {
+
+ private static final long serialVersionUID = 8836213741844057940L;
+ private String home_page;
+ private String label_page;
+ private int status;
+
+ public String getHome_page() {
+ return home_page;
+ }
+
+ public void setHome_page(String home_page) {
+ this.home_page = home_page;
+ }
+
+ public String getLabel_page() {
+ return label_page;
+ }
+
+ public void setLabel_page(String label_page) {
+ this.label_page = label_page;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/MessageWhat.java b/app/src/main/java/com/info/sn/bean/MessageWhat.java
deleted file mode 100644
index e789550..0000000
--- a/app/src/main/java/com/info/sn/bean/MessageWhat.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.info.sn.bean;
-
-public class MessageWhat {
- public static int CODE_SUCCESSFUL = 200;
-
-}
diff --git a/app/src/main/java/com/info/sn/bean/SystemSettings.java b/app/src/main/java/com/info/sn/bean/SystemSettings.java
new file mode 100644
index 0000000..4fe7655
--- /dev/null
+++ b/app/src/main/java/com/info/sn/bean/SystemSettings.java
@@ -0,0 +1,249 @@
+package com.info.sn.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+
+public class SystemSettings implements Serializable {
+
+ private static final long serialVersionUID = -7763589370400496883L;
+
+ private int setting_call;
+ private int setting_memory;
+ private String setting_usb;
+ private int setting_bluetooth;
+ private int setting_navigation;
+ private int setting_statusbar;
+ private int setting_tfmedia;
+ private String setting_phones;
+ private int setting_phone;
+ private int setting_camera;
+ private String setting_tfmedia_format;
+ private int setting_clock;
+ private int setting_recording;
+ private int setting_music;
+ private int setting_picture;
+ private int setting_wallpaper;
+ private int setting_file;
+ private int setting_bhtvideo;
+ private String setting_context;
+ private int setting_bht;
+ private int setting_hotspot;
+
+ public int getSetting_call() {
+ return setting_call;
+ }
+
+ public void setSetting_call(int setting_call) {
+ this.setting_call = setting_call;
+ }
+
+ public int getSetting_memory() {
+ return setting_memory;
+ }
+
+ public void setSetting_memory(int setting_memory) {
+ this.setting_memory = setting_memory;
+ }
+
+ public String getSetting_usb() {
+ return setting_usb;
+ }
+
+ public void setSetting_usb(String setting_usb) {
+ this.setting_usb = setting_usb;
+ }
+
+ public int getSetting_bluetooth() {
+ return setting_bluetooth;
+ }
+
+ public void setSetting_bluetooth(int setting_bluetooth) {
+ this.setting_bluetooth = setting_bluetooth;
+ }
+
+ public int getSetting_navigation() {
+ return setting_navigation;
+ }
+
+ public void setSetting_navigation(int setting_navigation) {
+ this.setting_navigation = setting_navigation;
+ }
+
+ public int getSetting_statusbar() {
+ return setting_statusbar;
+ }
+
+ public void setSetting_statusbar(int setting_statusbar) {
+ this.setting_statusbar = setting_statusbar;
+ }
+
+ public int getSetting_tfmedia() {
+ return setting_tfmedia;
+ }
+
+ public void setSetting_tfmedia(int setting_tfmedia) {
+ this.setting_tfmedia = setting_tfmedia;
+ }
+
+ public String getSetting_phones() {
+ return setting_phones;
+ }
+
+ public void setSetting_phones(String setting_phones) {
+ this.setting_phones = setting_phones;
+ }
+
+ public int getSetting_phone() {
+ return setting_phone;
+ }
+
+ public void setSetting_phone(int setting_phone) {
+ this.setting_phone = setting_phone;
+ }
+
+ public int getSetting_camera() {
+ return setting_camera;
+ }
+
+ public void setSetting_camera(int setting_camera) {
+ this.setting_camera = setting_camera;
+ }
+
+ public String getSetting_tfmedia_format() {
+ return setting_tfmedia_format;
+ }
+
+ public void setSetting_tfmedia_format(String setting_tfmedia_format) {
+ this.setting_tfmedia_format = setting_tfmedia_format;
+ }
+
+ public int getSetting_clock() {
+ return setting_clock;
+ }
+
+ public void setSetting_clock(int setting_clock) {
+ this.setting_clock = setting_clock;
+ }
+
+ public int getSetting_recording() {
+ return setting_recording;
+ }
+
+ public void setSetting_recording(int setting_recording) {
+ this.setting_recording = setting_recording;
+ }
+
+ public int getSetting_music() {
+ return setting_music;
+ }
+
+ public void setSetting_music(int setting_music) {
+ this.setting_music = setting_music;
+ }
+
+ public int getSetting_picture() {
+ return setting_picture;
+ }
+
+ public void setSetting_picture(int setting_picture) {
+ this.setting_picture = setting_picture;
+ }
+
+ public int getSetting_wallpaper() {
+ return setting_wallpaper;
+ }
+
+ public void setSetting_wallpaper(int setting_wallpaper) {
+ this.setting_wallpaper = setting_wallpaper;
+ }
+
+ public int getSetting_file() {
+ return setting_file;
+ }
+
+ public void setSetting_file(int setting_file) {
+ this.setting_file = setting_file;
+ }
+
+ public int getSetting_bhtvideo() {
+ return setting_bhtvideo;
+ }
+
+ public void setSetting_bhtvideo(int setting_bhtvideo) {
+ this.setting_bhtvideo = setting_bhtvideo;
+ }
+
+ public String getSetting_context() {
+ return setting_context;
+ }
+
+ public void setSetting_context(String setting_context) {
+ this.setting_context = setting_context;
+ }
+
+ public int getSetting_bht() {
+ return setting_bht;
+ }
+
+ public void setSetting_bht(int setting_bht) {
+ this.setting_bht = setting_bht;
+ }
+
+ public int getSetting_hotspot() {
+ return setting_hotspot;
+ }
+
+ public void setSetting_hotspot(int setting_hotspot) {
+ this.setting_hotspot = setting_hotspot;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("{");
+ sb.append("\"setting_call\":")
+ .append(setting_call);
+ sb.append(",\"setting_memory\":")
+ .append(setting_memory);
+ sb.append(",\"setting_usb\":\"")
+ .append(setting_usb).append('\"');
+ sb.append(",\"setting_bluetooth\":")
+ .append(setting_bluetooth);
+ sb.append(",\"setting_navigation\":")
+ .append(setting_navigation);
+ sb.append(",\"setting_statusbar\":")
+ .append(setting_statusbar);
+ sb.append(",\"setting_tfmedia\":")
+ .append(setting_tfmedia);
+ sb.append(",\"setting_phones\":\"")
+ .append(setting_phones).append('\"');
+ sb.append(",\"setting_phone\":")
+ .append(setting_phone);
+ sb.append(",\"setting_camera\":")
+ .append(setting_camera);
+ sb.append(",\"setting_tfmedia_format\":\"")
+ .append(setting_tfmedia_format).append('\"');
+ sb.append(",\"setting_clock\":")
+ .append(setting_clock);
+ sb.append(",\"setting_recording\":")
+ .append(setting_recording);
+ sb.append(",\"setting_music\":")
+ .append(setting_music);
+ sb.append(",\"setting_picture\":")
+ .append(setting_picture);
+ sb.append(",\"setting_wallpaper\":")
+ .append(setting_wallpaper);
+ sb.append(",\"setting_file\":")
+ .append(setting_file);
+ sb.append(",\"setting_bhtvideo\":")
+ .append(setting_bhtvideo);
+ sb.append(",\"setting_context\":\"")
+ .append(setting_context).append('\"');
+ sb.append(",\"setting_bht\":")
+ .append(setting_bht);
+ sb.append(",\"setting_hotspot\":")
+ .append(setting_hotspot);
+ sb.append('}');
+ return sb.toString();
+ }
+}
diff --git a/app/src/main/java/com/info/sn/bean/UserInfo.java b/app/src/main/java/com/info/sn/bean/UserInfo.java
index c8313b6..8c11e0c 100644
--- a/app/src/main/java/com/info/sn/bean/UserInfo.java
+++ b/app/src/main/java/com/info/sn/bean/UserInfo.java
@@ -3,26 +3,28 @@ package com.info.sn.bean;
import java.io.Serializable;
public class UserInfo implements Serializable {
- private String id;
+ private static final long serialVersionUID = -5268233433601073239L;
+
+ private int id;
private String sn_value;
private String sn_name;
private String sn_phone;
- private String sn_grade;
+ private String grade;
private String sn_app;
private String sn_area;
- private String member_id;
+ private int admin_id;
private String is_delete;
private String is_reset;
private String is_lock;
- private String sn_school;
+ private String school;
private String createtime;
- public String getId() {
+ public int getId() {
return id;
}
- public void setId(String id) {
+ public void setId(int id) {
this.id = id;
}
@@ -50,12 +52,12 @@ public class UserInfo implements Serializable {
this.sn_phone = sn_phone;
}
- public String getSn_grade() {
- return sn_grade;
+ public String getGrade() {
+ return grade;
}
- public void setSn_grade(String sn_grade) {
- this.sn_grade = sn_grade;
+ public void setGrade(String grade) {
+ this.grade = grade;
}
public String getSn_app() {
@@ -74,12 +76,12 @@ public class UserInfo implements Serializable {
this.sn_area = sn_area;
}
- public String getMember_id() {
- return member_id;
+ public int getMember_id() {
+ return admin_id;
}
- public void setMember_id(String member_id) {
- this.member_id = member_id;
+ public void setMember_id(int admin_id) {
+ this.admin_id = admin_id;
}
public String getIs_delete() {
@@ -114,11 +116,11 @@ public class UserInfo implements Serializable {
this.createtime = createtime;
}
- public String getSn_school() {
- return sn_school;
+ public String getSchool() {
+ return school;
}
- public void setSn_school(String sn_school) {
- this.sn_school = sn_school;
+ public void setSchool(String school) {
+ this.school = school;
}
}
diff --git a/app/src/main/java/com/info/sn/jpush/ExampleApplication.java b/app/src/main/java/com/info/sn/jpush/ExampleApplication.java
index 875e635..0af1579 100644
--- a/app/src/main/java/com/info/sn/jpush/ExampleApplication.java
+++ b/app/src/main/java/com/info/sn/jpush/ExampleApplication.java
@@ -1,6 +1,9 @@
package com.info.sn.jpush;
import android.app.Application;
+
+import com.info.sn.BuildConfig;
+
import cn.jpush.android.api.JPushInterface;
/**
@@ -16,7 +19,7 @@ public class ExampleApplication extends Application {
Logger.d(TAG, "[ExampleApplication] onCreate");
super.onCreate();
- JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志
+ JPushInterface.setDebugMode(BuildConfig.DEBUG); // 设置开启日志,发布时请关闭日志
JPushInterface.init(this); // 初始化 JPush
}
}
diff --git a/app/src/main/java/com/info/sn/jpush/MyJPushMessageReceiver.java b/app/src/main/java/com/info/sn/jpush/MyJPushMessageReceiver.java
index 73fb926..efdc27e 100644
--- a/app/src/main/java/com/info/sn/jpush/MyJPushMessageReceiver.java
+++ b/app/src/main/java/com/info/sn/jpush/MyJPushMessageReceiver.java
@@ -2,7 +2,7 @@ package com.info.sn.jpush;
import android.content.Context;
-import com.info.sn.MyApplication;
+import com.info.sn.base.MyApplication;
import cn.jpush.android.api.CustomMessage;
import cn.jpush.android.api.JPushMessage;
@@ -29,7 +29,6 @@ public class MyJPushMessageReceiver extends JPushMessageReceiver {
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context, jPushMessage);
super.onAliasOperatorResult(context, jPushMessage);
- MyApplication.getInstance().onAliasOperatorResult(jPushMessage);
}
@Override
diff --git a/app/src/main/java/com/info/sn/jpush/MyReceiver.java b/app/src/main/java/com/info/sn/jpush/MyReceiver.java
index bdb56a0..0c464e9 100644
--- a/app/src/main/java/com/info/sn/jpush/MyReceiver.java
+++ b/app/src/main/java/com/info/sn/jpush/MyReceiver.java
@@ -11,8 +11,8 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.os.CountDownTimer;
import android.os.Environment;
-import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -21,20 +21,19 @@ import android.view.WindowManager;
import com.alibaba.fastjson.JSON;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
-import com.info.sn.MainActivity;
-import com.info.sn.network.UrlPath;
-import com.info.sn.network.api.HTTPInterface;
+import com.info.sn.BuildConfig;
+import com.info.sn.activity.MainActivity;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.HTTPInterface;
+import com.info.sn.network.NetWorkManager;
+import com.info.sn.network.api.BindDevices;
import com.info.sn.utils.ApkUtils;
import com.info.sn.utils.LogUtils;
import com.info.sn.utils.SPUtils;
import com.info.sn.utils.ToastUtil;
import com.info.sn.utils.Utils;
import com.info.sn.view.CustomDialog;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.StringCallback;
-import com.lzy.okgo.model.Response;
-import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -47,6 +46,11 @@ import java.util.SortedMap;
import java.util.TreeMap;
import cn.jpush.android.api.JPushInterface;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
/**
* 自定义接收器
@@ -168,7 +172,17 @@ public class MyReceiver extends BroadcastReceiver {
//14.电话管控管控
private static final String JIGUANG_APP_WEBSITE = "16";
//16.app内部网址管控
+ private static final String JIGUANG_RESET_DEVICES = "17";
+ //设备恢复出厂设置
+ private static final String JIGUANG_BROWSER_LABEL = "18";
+ //浏览器书签
+ private static final String JIGUANG_APP_NET_AUTO = "19";
+ //APP联网自启管控
+ private static final String JIGUANG_SYSTEM_SETTING = "21";
+ //系统管控
+ private static final String JIGUANG_REBOOT_DEVICES = "22";
+ //重启
//
//send msg to MainActivity
private void processCustomMessage(Context context, Bundle bundle) {
@@ -190,17 +204,17 @@ public class MyReceiver extends BroadcastReceiver {
// }
// LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent);
// }
- String sn_id = (String) SPUtils.get(context, "sn_id", "-1");
- String member_id = (String) SPUtils.get(context, "member_id", "-1");
+ int sn_id = (int) SPUtils.get(context, "sn_id", -1);
+ int member_id = (int) SPUtils.get(context, "member_id", -1);
String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);
String title = bundle.getString(JPushInterface.EXTRA_TITLE);
String type = bundle.getString(JPushInterface.EXTRA_CONTENT_TYPE);
String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
- HTTPInterface.checkDevicesInfo(context);
+// HTTPInterface.checkDevicesInfo(context);
switch (message) {
case JIGUANG_GET_DRIVELINE:
- HTTPInterface.getDriveState(member_id, sn_id);
+// HTTPInterface.getDriveState(member_id, sn_id);
break;
case JIGUANG_GET_STARTTIME:
sendStartTime(context, extras);
@@ -215,7 +229,8 @@ public class MyReceiver extends BroadcastReceiver {
setBluetoothState(context, extras);
break;
case JIGUANG_BROWSER_URLPATH:
- setBrowserUrlpath(context, extras);
+// setBrowserUrlpath(context, extras);
+ HTTPInterface.setBrowser(context);
break;
case JIGUANG_APP_NETWORKSTATE:
setAppNetworkstate(context, extras);
@@ -245,7 +260,26 @@ public class MyReceiver extends BroadcastReceiver {
setAppUpdate(context, extras);
break;
case JIGUANG_APP_WEBSITE:
-
+ HTTPInterface.getAppJump(context);
+ break;
+ case JIGUANG_REBOOT_DEVICES:
+// Intent intent = new Intent(MainActivity.REFRESHACTION);
+// context.sendBroadcast(intent);
+ if (!BuildConfig.DEBUG) {
+ Utils.rebootDevices(context);
+ }
+ break;
+ case JIGUANG_APP_NET_AUTO:
+ HTTPInterface.getAppStart(context);
+ break;
+ case JIGUANG_BROWSER_LABEL:
+ HTTPInterface.getBrowserLabel(context);
+ break;
+ case JIGUANG_SYSTEM_SETTING:
+ Utils.setSystemSetting(context, extras);
+ break;
+ case JIGUANG_RESET_DEVICES:
+ Utils.doMasterClear(context);
break;
}
}
@@ -351,7 +385,7 @@ public class MyReceiver extends BroadcastReceiver {
JSONObject extra = new JSONObject(jsonArray);
String random = extra.getString("random");
int battery = getSystemBattery(context);
- HTTPInterface.sendStartTime(context, 0, getTaskPackname(context), battery, random);
+// HTTPInterface.sendStartTime(context, 0, getTaskPackname(context), battery, random);
} catch (JSONException e) {
e.printStackTrace();
}
@@ -463,7 +497,7 @@ public class MyReceiver extends BroadcastReceiver {
try {
JSONObject extra = new JSONObject(jsonArray);
int is_bluetooth = extra.getInt("is_bluetooth");
- if (is_bluetooth==1){
+ if (is_bluetooth == 1) {
mBluetoothAdapter.disable();//设置关闭时关闭蓝牙
}
boolean qch_bt_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_bht_forbid_on", is_bluetooth);
@@ -567,7 +601,7 @@ public class MyReceiver extends BroadcastReceiver {
//静默安装应用,使用okgo,断网会出现问题,等待修改使用aria
synchronized private void intallApk(Context context, String jsondata) {
- HTTPInterface.getAllAppPackageName(context);
+// HTTPInterface.getAllAppPackageName(context);
try {
JSONObject extra = new JSONObject(jsondata);
@@ -620,7 +654,7 @@ public class MyReceiver extends BroadcastReceiver {
synchronized private void unintallApk(Context context, String json) {
- String sn_id = (String) SPUtils.get(context, "sn_id", "-1");
+ int sn_id = (int) SPUtils.get(context, "sn_id", "-1");
try {
JSONObject object = new JSONObject(json);
@@ -628,7 +662,7 @@ public class MyReceiver extends BroadcastReceiver {
ToastUtil.debugShow("收到应用卸载消息:包名" + packageName);
if (!packageName.equals("") && !packageName.equals(context.getApplicationContext().getPackageName())) {
if (!ApkUtils.isAvailable(context.getApplicationContext(), packageName)) {
- HTTPInterface.setAppuninstallInfo(sn_id, packageName);
+// HTTPInterface.setAppuninstallInfo(sn_id, packageName);
} else {
ApkUtils.uninstallApp(context, packageName);
}
@@ -660,18 +694,33 @@ public class MyReceiver extends BroadcastReceiver {
.setOnClickBottomListener(new CustomDialog.OnClickBottomListener() {
@Override
public void onPositiveClick() {
- bind(context, id);
+ bind(context, id, 1);
dialog.dismiss();
}
@Override
public void onNegtiveClick() {
+ bind(context, id, 0);
ToastUtil.show("设备取消绑定");
dialog.dismiss();
}
});
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
+ new CountDownTimer(30000, 1000) {
+
+ @Override
+ public void onTick(long l) {
+ String value = String.valueOf((int) (l / 1000));
+ dialog.setNegtiveText("拒绝" + "(" + value + ")");
+ }
+
+ @Override
+ public void onFinish() {
+ bind(context, id, 0);
+ dialog.dismiss();
+ }
+ }.start();
// AlertDialog.Builder builder = new AlertDialog.Builder(this)
// .setTitle("设备绑定")
// .setIcon(R.mipmap.ic_launcher)
@@ -703,38 +752,72 @@ public class MyReceiver extends BroadcastReceiver {
}
- synchronized private void bind(final Context context, String id) {
- OkGo.post(UrlPath.BIND_DEVICES)
- .params("id", id)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- String s = response.body();
- try {
- JSONObject jsonObject = new JSONObject(s);
- int code = jsonObject.getInt("code");
- String msg = jsonObject.getString("msg");
- if (code == 200) {
- ToastUtil.show("绑定成功");
- } else {
- ToastUtil.show(msg);
- }
+ synchronized private void bind(final Context context, String id, int type) {
- } catch (JSONException e) {
- e.printStackTrace();
+ BindDevices bindDevices = NetWorkManager.getbindDevicesControl();
+ bindDevices.getBindDevices(Utils.getSerial(), id, type)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ int code = baseResponse.code;
+ String msg = baseResponse.msg;
+// Log.e("bind", baseResponse.toString());
+ if (code == 200) {
+ ToastUtil.show("绑定成功");
+ } else if (code == 301) {
+ ToastUtil.show(msg);
}
- Intent intent = new Intent(MainActivity.REFRESHACTION);
- context.sendBroadcast(intent);
}
@Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("bind", response.getException().getMessage());
+ public void onError(@NonNull Throwable e) {
+ Log.e("bind", e.getMessage());
}
+ @Override
+ public void onComplete() {
+
+ }
});
+// OkGo.get(UrlAddress.BIND_DEVICES)
+// .params("id", id)
+// .params("sn", Utils.getSerial())
+// .params("type",type)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// String s = response.body();
+// try {
+// JSONObject jsonObject = new JSONObject(s);
+// int code = jsonObject.getInt("code");
+// String msg = jsonObject.getString("msg");
+// if (code == 200) {
+// ToastUtil.show("绑定成功");
+// } else if (code==301){
+// ToastUtil.show(msg);
+// }
+//
+// } catch (JSONException e) {
+// e.printStackTrace();
+// }
+// Intent intent = new Intent(MainActivity.REFRESHACTION);
+// context.sendBroadcast(intent);
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("bind", response.getException().getMessage());
+// }
+//
+// });
}
diff --git a/app/src/main/java/com/info/sn/network/HTTPInterface.java b/app/src/main/java/com/info/sn/network/HTTPInterface.java
new file mode 100644
index 0000000..4d47674
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/HTTPInterface.java
@@ -0,0 +1,922 @@
+package com.info.sn.network;
+
+import android.content.Context;
+import android.content.Intent;
+import android.icu.text.SimpleDateFormat;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.RequiresApi;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONException;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.info.sn.activity.MainActivity;
+import com.info.sn.bean.AppJump;
+import com.info.sn.bean.AppStart;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.bean.BrowserBean;
+import com.info.sn.bean.UserInfo;
+import com.info.sn.network.UrlAddress;
+import com.info.sn.network.api.APPJump;
+import com.info.sn.network.api.AddAppInstall;
+import com.info.sn.network.api.Browser;
+import com.info.sn.network.api.Label;
+import com.info.sn.network.api.QuerySnAppStart;
+import com.info.sn.network.api.UpdateAdminSn;
+import com.info.sn.utils.LogUtils;
+import com.info.sn.utils.SPUtils;
+import com.info.sn.utils.ToastUtil;
+import com.info.sn.utils.Utils;
+
+import org.w3c.dom.Text;
+
+import java.util.Date;
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.internal.schedulers.NewThreadWorker;
+import io.reactivex.schedulers.Schedulers;
+
+public class HTTPInterface {
+
+ public static void SendAppInstall(String packageName, int versionCode, int installOrRemove) {
+ AddAppInstall addAppInstall = NetWorkManager.getAddAppInstallControl();
+ addAppInstall.installorRemove(
+ Utils.getSerial(),
+ packageName,
+ versionCode,
+ installOrRemove
+ ).subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ int code = baseResponse.code;
+ String msg = baseResponse.msg;
+ Log.e("SendAppInstall", "onNext: " + "code" + code + ",msg:" + msg);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("SendAppInstall", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ public static void setBrowser(final Context context) {
+ Browser browser = NetWorkManager.getBrowserControl();
+ browser.getBrowser(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ int code = baseResponse.code;
+ if (code == 200) {
+ JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data);
+ List white = JSON.parseArray(jsonObject.getString("browser"), BrowserBean.class);
+ if (null != white && white.size() != 0) {
+ String s = "";
+ for (BrowserBean bean : white) {
+ s += bean.getAddress() + ",";
+ }
+ boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", s);
+ Log.e("setBrowser", "setBrowserList_white:" + whiteList + ":" + white);
+ } else {
+ Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " ");
+ }
+ List black = JSON.parseArray(jsonObject.getString("browser_black"), BrowserBean.class);
+ if (null != black && black.size() != 0) {
+ String s = "";
+ for (BrowserBean bean : black) {
+ s += bean.getAddress() + ",";
+ }
+ boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", s);
+ Log.e("setBrowser", "setBrowserList_black:" + blackList + ":" + black);
+ } else {
+ Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
+ }
+
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("setBrowser", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public static void getBrowserLabel(final Context context) {
+ Label label = NetWorkManager.getLabelControl();
+ label.getLabel(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse listBaseResponse) {
+ int code = listBaseResponse.code;
+ if (code == 200) {
+ Gson gson = new Gson();
+ String data = gson.toJson(listBaseResponse.data);
+ JsonObject jsonObject = gson.fromJson(data, JsonObject.class);
+ if (jsonObject.getAsJsonArray("label").size() == 0) {
+ return;
+ }
+ JsonObject label = jsonObject.getAsJsonArray("label").get(0).getAsJsonObject();
+ String home_page = label.get("home_page").getAsString();
+ String label_page = label.get("label_page").getAsString();
+ Log.e("getBrowserLabel", "onNext: " + home_page);
+ //主页
+ Intent homepag = new Intent("qch_app_brower_homepage");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ homepag.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ if (home_page != null && !home_page.equals("")) {
+ homepag.putExtra("homepage", home_page);
+ } else {
+ homepag.putExtra("homepage", "Invalid");
+ }
+ context.sendBroadcast(homepag);
+
+ //书签
+ Intent websiteBookMark = new Intent("qch_app_brower_website");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ websiteBookMark.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ if (label_page != null && !label_page.equals("")) {
+ websiteBookMark.putExtra("websiteBookMark", label_page);
+ } else {
+ websiteBookMark.putExtra("websiteBookMark", "Invalid");
+ }
+ context.sendBroadcast(websiteBookMark);
+ } else {
+ Intent intent1 = new Intent("qch_app_brower_homepage");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ intent1.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ intent1.putExtra("homepage", "Invalid");
+ context.sendBroadcast(intent1);
+ Intent intent2 = new Intent("qch_app_brower_website");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ intent2.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ intent2.putExtra("websiteBookMark", "Invalid");
+ context.sendBroadcast(intent2);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getBrowserLabel", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public static void getAppStart(final Context context) {
+ final QuerySnAppStart appStart = NetWorkManager.getAppStartControl();
+ appStart.getAppStatu(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> listBaseResponse) {
+ int code = listBaseResponse.code;
+ if (code == 200) {
+ List list = listBaseResponse.data;
+ setAotuandNet(context, list);
+ } else {
+ setInvalid(context);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getAppStart", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ private static void setAotuandNet(Context context, List list) {
+ String auto_allow = "";
+ String auto_not = "";
+ String network_allow = "";
+ String network_not = "";
+ String upgrade_allow = "";
+ String upgrade_not = "";
+ String slide_allow = "";
+ String slide_not = "";
+ if (null != list && list.size() != 0) {
+ for (AppStart app : list) {
+ int is_auto = app.getIs_auto();
+ int is_network = app.getIs_network();
+ int is_upgrade = app.getIs_upgrade();
+ int is_slide = app.getIs_slide();
+ String app_package = app.getApp_package();
+ if (is_auto == 1) {
+ auto_allow += app_package + ",";
+ } else {
+ auto_not += app_package + ",";
+ }
+ if (is_network == 1) {
+ network_allow += app_package + ",";
+ } else {
+ network_not += app_package + ",";
+ }
+ if (is_upgrade == 1) {
+ upgrade_allow += app.getApp_package() + ",";
+ } else {
+ upgrade_not += app.getApp_package() + ",";
+ }
+ if (is_slide == 1) {
+ slide_allow += app.getApp_package() + ",";
+ } else {
+ slide_not += app.getApp_package() + ",";
+ }
+ }
+ if (!TextUtils.isEmpty(auto_allow) && auto_allow.endsWith(",")) {
+ auto_allow = auto_allow.substring(0, auto_allow.length() - 1);
+ boolean qch_app_power_on = Settings.System.putString(context.getContentResolver(), "qch_app_power_on", auto_allow);
+ }
+ if (!TextUtils.isEmpty(auto_not) && auto_not.endsWith(",")) {
+ auto_not = auto_not.substring(0, auto_not.length() - 1);
+ }
+ if (!TextUtils.isEmpty(network_allow) && network_allow.endsWith(",")) {
+ network_allow = network_allow.substring(0, network_allow.length() - 1);
+ Settings.System.putString(context.getContentResolver(), "qch_jgy_network_allow", network_allow);
+ Log.e("fht", "not::" + network_allow);
+ }
+ if (!TextUtils.isEmpty(network_not) && network_not.endsWith(",")) {
+ network_not = network_not.substring(0, network_not.length() - 1);
+ Settings.System.putString(context.getContentResolver(), "qch_jgy_network_disallow", network_not);
+ Log.e("fht", "ban::" + network_not);
+ }
+ if (!TextUtils.isEmpty(upgrade_allow) && upgrade_allow.endsWith(",")) {
+ upgrade_allow = upgrade_allow.substring(0, upgrade_allow.length() - 1);
+ }
+ if (!TextUtils.isEmpty(upgrade_not) && upgrade_not.endsWith(",")) {
+ upgrade_not = upgrade_not.substring(0, upgrade_not.length() - 1);
+ }
+
+ Utils.writeDisableUpdateList(context, upgrade_not.split(","), upgrade_allow.split(","));
+
+ if (!TextUtils.isEmpty(slide_allow) && slide_allow.endsWith(",")) {
+ slide_allow = slide_allow.substring(0, slide_allow.length() - 1);
+ }
+ if (!TextUtils.isEmpty(slide_not) && slide_not.endsWith(",")) {
+ slide_not = slide_not.substring(0, slide_not.length() - 1);
+ boolean writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_disable_slide", slide_not);
+ Log.e("fht", "qch_disable_slide=" + writeSucceed + ":" + slide_not);
+ } else {
+ boolean writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_disable_slide", "Invalid");
+ Log.e("fht", "qch_disable_slide ok=" + writeSucceed + ":" + slide_allow);
+ }
+
+ } else {
+ setInvalid(context);
+ }
+ }
+
+ private static void setInvalid(Context context) {
+ boolean qch_app_power_on = Settings.System.putString(context.getContentResolver(), "qch_app_power_on", "Invalid");
+ boolean qch_jgy_network_allow = Settings.System.putString(context.getContentResolver(), "qch_jgy_network_allow", "Invalid");
+ boolean qch_jgy_network_disallow = Settings.System.putString(context.getContentResolver(), "qch_jgy_network_disallow", "Invalid");
+ boolean writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_disable_slide", "Invalid");
+ }
+
+
+ public static void getAppJump(final Context context) {
+ APPJump appJump = NetWorkManager.getAppJumpControl();
+ appJump.getSNJump(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> listBaseResponse) {
+ int code = listBaseResponse.code;
+ if (code == 200) {
+ List list = listBaseResponse.data;
+ setAPPinsideBrowser(context, list);
+ } else {
+ sendAllweb(context);
+ sendwebUrl(context);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getAppJump", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public static void setAPPinsideBrowser(Context context, List list) {
+ String packageList = "";
+ String urlList = "";
+ for (AppJump appJump : list) {
+ if (TextUtils.isEmpty(appJump.getAddress())) {
+ packageList += appJump.getApp_package() + ",";
+ } else {
+ urlList += appJump.toString() + ";";
+ }
+ }
+
+ if (!TextUtils.isEmpty(packageList)) {
+ //app内所有的网页禁止
+ packageList = packageList.substring(0, packageList.length() - 1);
+ //去掉多余的,
+ Log.e("setAppinsideWeb ", "packageList:" + packageList);
+ Intent qch_app_website = new Intent("qch_app_website")
+ .setPackage("com.android.settings");
+ qch_app_website.putExtra("package_name", packageList);
+ context.sendBroadcast(qch_app_website);
+ } else {
+ sendAllweb(context);
+ }
+ if (!TextUtils.isEmpty(urlList)) {
+ //app内单个网页地址禁止打开
+ urlList = urlList.substring(0, urlList.length() - 1);
+ //去掉多余的;
+ Log.e("setAppinsideWeb ", "strings:" + urlList);
+ Intent intent = new Intent("qch_app_inside_website")
+ .setPackage("com.android.settings");
+ intent.putExtra("websitelist", urlList);
+ context.sendBroadcast(intent);
+ } else {
+ sendwebUrl(context);
+ }
+ }
+
+ private static void sendAllweb(Context context) {
+ Intent intent = new Intent("qch_app_website")
+ .setPackage("com.android.settings");
+ intent.putExtra("package_name", "Invalid");
+ context.sendBroadcast(intent);
+ }
+
+ private static void sendwebUrl(Context context) {
+ Intent intent = new Intent("qch_app_inside_website")
+ .setPackage("com.android.settings");
+ intent.putExtra("websitelist", "Invalid");
+ context.sendBroadcast(intent);
+ }
+
+ public static void updateAdminInfo(Context context) {
+ String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-"));
+ String longitude = String.valueOf(SPUtils.get(context, "longitude", "0"));
+ String latitude = String.valueOf(SPUtils.get(context, "latitude", "0"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("address", address);
+ jsonObject.put("longitude", longitude);
+ jsonObject.put("latitude", latitude);
+ String a = jsonObject.toString();
+ String b = Utils.getMachine(context);
+ String c = Utils.getHardware(context);
+ UpdateAdminSn updateAdminSn = NetWorkManager.getUpdateAdminSnControl();
+ updateAdminSn.sendAdminSn(Utils.getSerial(),
+ jsonObject.toJSONString(),
+ Utils.getMachine(context),
+ Utils.getHardware(context)
+ ).subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+// Log.e("updateAdminInfo", "onNext: " + baseResponse.toString());
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("updateAdminInfo", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ //获取设备信息接口
+// public static synchronized void checkDevicesInfo(final Handler handler) {
+// OkGo.get(UrlAddress.SNINFO)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// Log.e("onSuccess", "checkDevicesInfo");
+// try {
+// JSONObject bodyObject = JSON.parseObject(response.body());
+// Integer code = (bodyObject.getInteger("code"));
+// String msg = bodyObject.getString("msg");
+// String data = bodyObject.getString("data");
+// UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
+// Message message = new Message();
+// message.obj = userInfo;
+// if (code == 200) {
+// message.what = 1;
+// handler.sendMessage(message);
+// } else if (code == -200) {
+// message.what = 0;
+// handler.sendMessage(message);
+// } else if (code == -250) {
+// ToastUtil.show(msg);
+// handler.sendEmptyMessage(2);
+// //设备验证
+// }
+// } catch (Exception ex) {
+// Log.e("checkDevicesInfo", ex.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("onError", response.getException().toString());
+//
+// }
+// });
+// }
+//
+// public static synchronized void checkDevicesInfo(final Context context) {
+// OkGo.get(UrlAddress.SNINFO)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// Log.e("onSuccess", "checkDevicesInfo");
+// try {
+// JSONObject bodyObject = JSON.parseObject(response.body());
+// Integer code = (bodyObject.getInteger("code"));
+// String msg = bodyObject.getString("msg");
+// String data = bodyObject.getString("data");
+// UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
+// if (code == 200) {
+// SPUtils.put(context, "isLogined", 1);
+// SPUtils.put(context, "member_id", userInfo.getMember_id());
+// SPUtils.put(context, "sn_id", userInfo.getId());
+// } else if (code == -200) {
+// SPUtils.put(context, "isLogined", 0);
+//
+// } else if (code == -250) {
+// SPUtils.put(context, "isLogined", 2);
+// //设备验证
+// }
+// } catch (Exception ex) {
+// Log.e("checkDevicesInfo", ex.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("onError", response.getException().toString());
+//
+// }
+// });
+// }
+//
+// @RequiresApi(api = Build.VERSION_CODES.N)
+// public static void sendTimeLog(final Handler handler, UserInfo userInfo, String appname, int status, long time) {
+// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+// Date date = new Date(System.currentTimeMillis());
+// String times = simpleDateFormat.format(date);
+// OkGo.post(UrlAddress.APPLOG)
+// .params("sn", Utils.getSerial())
+// .params("app_name", appname)
+// .params("use_time", time)
+// .params("status", status)
+// .params("createtime", times)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// Log.e("onSuccess", "sendTimeLog");
+// try {
+// JSONObject bodyObject = JSON.parseObject(response.body());
+// Log.e("onSuccess", bodyObject.toString());
+//
+// Integer code = (bodyObject.getInteger("code"));
+// String msg = bodyObject.getString("msg");
+// String data = bodyObject.getString("data");
+// UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
+// Message message = new Message();
+// message.obj = userInfo;
+// if (code == 200) {
+//
+// } else if (code == -200) {
+//
+// } else if (code == -250) {
+//
+// }
+// } catch (Exception ex) {
+// Log.e("checkDevicesInfo", ex.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("onError", response.getException().toString());
+//
+// }
+// });
+// }
+//
+// synchronized public static void checkUpdateByPackage(final Handler handler, String packageName, String versionCode) {
+// OkGo.post(UrlAddress.GET_APP_UPDATE)
+// .params("code", versionCode)
+// .params("package", packageName)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// try {
+// JSONObject body = JSON.parseObject(response.body());
+// int code = body.getInteger("code");
+// String msg = body.getString("msg");
+// if (code == 200) {
+// Message message = new Message();
+// JSONObject data = JSON.parseObject(body.getString("data"));
+// if (data != null) {
+// String url = data.getString("downloadurl");
+// String newversion = data.getString("newversion");
+// String content = data.getString("content");
+//
+// message.what = 200;
+// Bundle bundle = new Bundle();
+// bundle.putString("url", url);
+// bundle.putString("versionCode", newversion);
+// bundle.putString("content", content);
+// message.obj = bundle;
+// }
+// handler.sendMessage(message);
+//// Log.e("checkUpdateSN", msg);
+// } else {
+// handler.sendEmptyMessage(-200);
+//// Log.e("checkUpdateSN", msg);
+// }
+// } catch (Exception e) {
+//// Log.e("checkUpdateSN", e.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// handler.sendEmptyMessage(-300);
+//// Log.e("checkUpdateSN", response.getException().toString());
+// }
+// });
+// }
+//
+// synchronized public static void checkUpdateByself(final Handler handler, String packageName, String versionCode) {
+// OkGo.post(UrlAddress.GET_APP_UPDATE)
+// .params("code", versionCode)
+// .params("package", packageName)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// try {
+// JSONObject body = JSON.parseObject(response.body());
+// int code = body.getInteger("code");
+// String msg = body.getString("msg");
+// if (code == 200) {
+// Message message = new Message();
+// JSONObject data = JSON.parseObject(body.getString("data"));
+// if (data != null) {
+// String url = data.getString("downloadurl");
+// String newversion = data.getString("newversion");
+// String content = data.getString("content");
+// message.what = 300;
+// Bundle bundle = new Bundle();
+// bundle.putString("url", url);
+// bundle.putString("versionCode", newversion);
+// bundle.putString("content", content);
+// message.obj = bundle;
+// }
+// handler.sendMessage(message);
+//// Log.e("checkUpdateSN", msg);
+// } else {
+// handler.sendEmptyMessage(-200);
+//// Log.e("checkUpdateSN", msg);
+// }
+// } catch (Exception e) {
+//// Log.e("checkUpdateSN", e.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// handler.sendEmptyMessage(-300);
+//// Log.e("checkUpdateSN", response.getException().toString());
+// }
+// });
+// }
+//
+// synchronized public static void setAppuninstallInfo(String sn_id, String packageName) {
+// OkGo.post(UrlAddress.SET_APP_UNINSTALL_INFO)
+// .params("sn_id", sn_id)
+// .params("package", packageName)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// JSONObject object = JSON.parseObject(response.body());
+// int code = object.getInteger("code");
+// String msg = object.getString("msg");
+// LogUtils.e("setAppinstallInfo", msg);
+// if (code == 200) {
+//
+// } else {
+//
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// LogUtils.e("setAppinstallInfo", "onError:" + response.getException());
+//
+// }
+// });
+//
+// }
+//
+// synchronized public static void sendStartTime(Context context, long startTime, String packageName, int battery, String random) {
+// String sn_id = (String) SPUtils.get(context, "sn_id", "-1");
+// String member_id = (String) SPUtils.get(context, "member_id", "-1");
+// OkGo.post(UrlAddress.SEND_RUNINGAPPINFO)
+// .params("start_time", startTime)
+// .params("package", packageName)
+// .params("battery", battery)
+// .params("member_id", member_id)
+// .params("sn_id", sn_id)
+// .params("random", random)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// String body = response.body();
+// LogUtils.e("sendStartTime", body);
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// LogUtils.e("sendStartTime", response.getException().toString());
+//
+// }
+// });
+// }
+//
+// synchronized public static void getDriveState(int member_id, int sn_id) {
+//
+// OkGo.post(UrlAddress.SEND_DRIVE_STATE)
+// .params("member_id", member_id)
+// .params("sn_id", sn_id)
+// .params("status", 1)
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+//
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+//
+// }
+// });
+// }
+//
+// synchronized public static void getAllAppPackageName(final Handler handler) {
+// OkGo.post(UrlAddress.GET_ALL_PACKAGENAME)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// String s = response.body();
+// try {
+// JSONObject body = JSON.parseObject(s);
+// int code = body.getInteger("code");
+// String msg = body.getString("msg");
+// String data = body.getString("data");
+// if (code == 200) {
+// List jsonArray = JSON.parseArray(data, JSONObject.class);
+// String packageList = "";
+// for (JSONObject jsonObject : jsonArray) {
+// packageList += jsonObject.getString("app_package") + ",";
+// }
+// if (!packageList.isEmpty()) {
+// Log.e("getAllAppPackageName", packageList);
+// Message message = new Message();
+// message.what = 201;
+// message.obj = packageList;
+// handler.sendMessage(message);
+// } else {
+// handler.sendEmptyMessage(202);
+// }
+// }
+// } catch (Exception e) {
+//
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("getAllAppPackageName", response.getException().getMessage());
+// }
+// });
+// }
+//
+//
+// synchronized public static void getAllAppPackageName(final Context context) {
+// OkGo.post(UrlAddress.GET_ALL_PACKAGENAME)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// String s = response.body();
+// try {
+// com.alibaba.fastjson.JSONObject body = JSON.parseObject(s);
+// int code = body.getInteger("code");
+// String msg = body.getString("msg");
+// Log.e("msg", "getAllAppPackageName" + msg);
+// String data = body.getString("data");
+// if (code == 200) {
+// List jsonArray = JSON.parseArray(data, com.alibaba.fastjson.JSONObject.class);
+// String packageList = "";
+// for (com.alibaba.fastjson.JSONObject jsonObject : jsonArray) {
+// packageList += jsonObject.getString("app_package") + ",";
+// }
+// packageList = packageList + "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools,com.jiaoguanyi.pager2,com.android.uiuios";
+// Log.e("packageList now", packageList);
+// Log.e("packageList", Settings.System.getString(context.getContentResolver(), "qch_app_forbid"));
+// Settings.System.putString(context.getContentResolver(), "qch_app_forbid", packageList);
+// } else {
+// Settings.System.putString(context.getContentResolver(), "qch_app_forbid", "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools,com.jiaoguanyi.pager2,com.android.uiuios");
+//
+// }
+// } catch (Exception e) {
+// Log.e("getAllAppPackageName", e.getMessage());
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// Log.e("getAllAppPackageName", response.getException().getMessage());
+// }
+// });
+// }
+//
+//
+// public static void setBrowser(final Context context) {
+// OkGo.post(UrlAddress.SET_BROWSER_URL)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// try {
+// JSONObject jsonObject = JSON.parseObject(response.body());
+// int code = jsonObject.getInteger("code");
+// String msg = jsonObject.getString("msg");
+// if (code == 200) {
+// JSONObject data = JSON.parseObject(jsonObject.getString("data"));
+// String white = data.getString("white");
+// if (white != null && !white.equals("")) {
+// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white);
+// Log.e("SystemSetting", "setBrowserList---------" + whiteList + ":" + white);
+// } else {
+// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " ");
+// }
+// String black = data.getString("black");
+// if (black != null && !black.equals("")) {
+// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
+// Log.e("SystemSetting", "setBrowserList---------" + blackList + ":" + black);
+// } else {
+// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
+// }
+// } else {
+// Log.e("fht", "setBrowserList" + msg);
+// }
+// } catch (JSONException e) {
+// Log.e("fht", "setBrowserList" + e.getMessage());
+//
+// }
+// }
+// });
+// }
+//
+// public static void get_settings(final Context context) {
+// OkGo.get(UrlAddress.GET_SETTINGS)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+// JSONObject jsonObject = JSON.parseObject(response.body());
+// int code = jsonObject.getInteger("code");
+// if (code == 200) {
+// String data = jsonObject.getString("data");
+// Utils.setSystemSetting(context, data);
+// }
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// }
+// });
+// }
+//
+//
+//
+// public static void get_forceinstall(Context context) {
+// OkGo.get(UrlAddress.GET_FORCE_INSTALL)
+// .params("sn", Utils.getSerial())
+// .execute(new StringCallback() {
+// @Override
+// public void onSuccess(Response response) {
+//
+// }
+//
+// @Override
+// public void onError(Response response) {
+// super.onError(response);
+// }
+// });
+// }
+
+
+}
diff --git a/app/src/main/java/com/info/sn/network/NetWorkManager.java b/app/src/main/java/com/info/sn/network/NetWorkManager.java
new file mode 100644
index 0000000..4dcf77d
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/NetWorkManager.java
@@ -0,0 +1,195 @@
+package com.info.sn.network;
+
+import android.os.Environment;
+
+import com.info.sn.network.api.APPJump;
+import com.info.sn.network.api.AddAppInstall;
+import com.info.sn.network.api.Applog;
+import com.info.sn.network.api.BindDevices;
+import com.info.sn.network.api.Browser;
+import com.info.sn.network.api.ForceInstall;
+import com.info.sn.network.api.Label;
+import com.info.sn.network.api.QuerySnAppStart;
+import com.info.sn.network.api.SNInfo;
+import com.info.sn.network.api.Setting;
+import com.info.sn.network.api.UpdateAdminSn;
+
+import java.io.File;
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.Cache;
+import okhttp3.OkHttpClient;
+import retrofit2.CallAdapter;
+import retrofit2.Converter;
+import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class NetWorkManager {
+
+ private static final String ROOT_URL = UrlAddress.ROOT_URL;
+
+ private static final long cacheSize = 1024 * 1024 * 20;// 缓存文件最大限制大小20M
+ private static String cacheDirectory = Environment.getExternalStorageDirectory() + "/okttpcaches"; // 设置缓存文件路径
+ private static Cache cache = new Cache(new File(cacheDirectory), cacheSize); //
+ private static final OkHttpClient client;
+
+ static {
+ //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
+ OkHttpClient.Builder builder = new OkHttpClient.Builder();
+ builder.connectTimeout(8, TimeUnit.SECONDS); // 设置连接超时时间
+ builder.writeTimeout(8, TimeUnit.SECONDS);// 设置写入超时时间
+ builder.readTimeout(8, TimeUnit.SECONDS);// 设置读取数据超时时间
+ builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
+ builder.cache(cache);// 设置缓存
+ client = builder.build();
+ }
+
+ private static CallAdapter.Factory rxJavaCallAdapterFactory = RxJava2CallAdapterFactory.create();
+ private static Converter.Factory gsonConverterFactory = GsonConverterFactory.create();
+
+ private static SNInfo snInfoControl;
+ private static Applog applogControl;
+ private static Setting settingControl;
+ private static ForceInstall forceInstallControl;
+ private static BindDevices bindDevicesControl;
+ private static AddAppInstall addAppInstallControl;
+ private static Browser browserControl;
+ private static Label labelControl;
+ private static QuerySnAppStart appStartControl;
+ private static APPJump appJumpControl;
+ private static UpdateAdminSn updateAdminSnControl;
+
+ public static SNInfo getsnInfoControl() {
+ if (null == snInfoControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ snInfoControl = retrofit.create(SNInfo.class);
+ }
+ return snInfoControl;
+ }
+
+ public static Setting getsettingControl() {
+ if (null == settingControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ settingControl = retrofit.create(Setting.class);
+ }
+ return settingControl;
+ }
+
+ public static ForceInstall getForceInstallControl() {
+ if (null == forceInstallControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ forceInstallControl = retrofit.create(ForceInstall.class);
+ }
+ return forceInstallControl;
+ }
+
+
+ public static BindDevices getbindDevicesControl() {
+ if (null == bindDevicesControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ bindDevicesControl = retrofit.create(BindDevices.class);
+ }
+ return bindDevicesControl;
+ }
+
+ public static AddAppInstall getAddAppInstallControl() {
+ if (null == addAppInstallControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ addAppInstallControl = retrofit.create(AddAppInstall.class);
+ }
+ return addAppInstallControl;
+ }
+
+ public static Browser getBrowserControl() {
+ if (null == browserControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ browserControl = retrofit.create(Browser.class);
+ }
+ return browserControl;
+ }
+
+ public static Label getLabelControl() {
+ if (null == labelControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ labelControl = retrofit.create(Label.class);
+ }
+ return labelControl;
+ }
+
+ public static QuerySnAppStart getAppStartControl() {
+ if (null == appStartControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ appStartControl = retrofit.create(QuerySnAppStart.class);
+ }
+ return appStartControl;
+ }
+
+ public static APPJump getAppJumpControl() {
+ if (null == appJumpControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ appJumpControl = retrofit.create(APPJump.class);
+ }
+ return appJumpControl;
+ }
+
+ public static UpdateAdminSn getUpdateAdminSnControl() {
+ if (null == updateAdminSnControl) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(client)
+ .baseUrl(ROOT_URL)
+ .addConverterFactory(gsonConverterFactory)
+ .addCallAdapterFactory(rxJavaCallAdapterFactory)
+ .build();
+ updateAdminSnControl = retrofit.create(UpdateAdminSn.class);
+ }
+ return updateAdminSnControl;
+ }
+
+
+}
diff --git a/app/src/main/java/com/info/sn/network/UrlAddress.java b/app/src/main/java/com/info/sn/network/UrlAddress.java
new file mode 100644
index 0000000..dd12577
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/UrlAddress.java
@@ -0,0 +1,37 @@
+package com.info.sn.network;
+
+public class UrlAddress {
+ public static final String ROOT_URL = "http://homework.uiuios.com/android/";
+ //主页接口
+ public static final String SNINFO = ROOT_URL + "sn/getSnInfo";
+ //设备信息接口
+ public static final String APPLOG = ROOT_URL + "App/getApplog";
+
+ public final static String GET_APP_UPDATE = ROOT_URL + "Update/update";
+ //根据包名获取更新
+ public final static String SEND_RUNINGAPPINFO = ROOT_URL + "Monitoring/getAppNow";
+ //获取当前最顶层应用和电量
+ public final static String SEND_DRIVE_STATE = ROOT_URL + "Online/online";
+
+ public final static String GET_ALL_PACKAGENAME = ROOT_URL + "App/allPackageSn";
+ //获取所有应用包名
+ public final static String BIND_DEVICES = ROOT_URL + "sn/bindSn";
+ //绑定设备消息
+ public final static String GET_SETTINGS = ROOT_URL + "control/getSetting";
+ //获取系统设置
+ public final static String SET_BROWSER_URL = ROOT_URL + "control/getBrowser";
+ //浏览器网址管控
+ public final static String SET_BROWSER_Label = ROOT_URL + "control/getLabel";
+ //浏览器书签管控
+ public final static String GET_FORCE_INSTALL = ROOT_URL + "app/getForceDownload";
+ //获取强制下载
+ public final static String GET_APP_START = ROOT_URL + "sn/querySnAppStart";
+ //获取app管控
+ public final static String GET_APP_JUMP = ROOT_URL + "sn/querySnJump";
+ //发app跳转管控
+ public final static String SEND_INSTALLEDORREMOVED = ROOT_URL + "app/addAppInstall";
+ //发送卸载或者安装信息
+ public final static String UPDATE_SNINFO = ROOT_URL + "sn/updateAdminSn";
+ //发送卸载或者安装信息
+
+}
diff --git a/app/src/main/java/com/info/sn/network/UrlPath.java b/app/src/main/java/com/info/sn/network/UrlPath.java
deleted file mode 100644
index 11144f1..0000000
--- a/app/src/main/java/com/info/sn/network/UrlPath.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.info.sn.network;
-
-public class UrlPath {
- public static final String HOMEPATHRUL = "http://homework.tuiinfo.com/api/";
- //主页接口
-
- public static final String SNINFO = HOMEPATHRUL + "Member/snInfo";
- //设备信息接口
- public static final String APPLOG = HOMEPATHRUL + "App/getApplog";
-
- public final static String GET_APP_UPDATE = HOMEPATHRUL + "Update/update";
- //根据包名获取更新
-
- public final static String SET_APP_INSTALL_INFO = HOMEPATHRUL + "App/appInstall";
- //发送app安装信息
- public final static String SET_APP_UNINSTALL_INFO = HOMEPATHRUL + "App/appUnload";
- //发送app卸载信息
- public final static String SEND_RUNINGAPPINFO = HOMEPATHRUL + "Monitoring/getAppNow";
- //获取当前最顶层应用和电量
- public final static String SEND_DRIVE_STATE = HOMEPATHRUL + "Online/online";
-
- public final static String GET_ALL_PACKAGENAME = HOMEPATHRUL + "App/allPackageSn";
- //获取所有应用包名
- public final static String BIND_DEVICES = HOMEPATHRUL + "Member/binding";
- //绑定设备消息
- public final static String SET_BROWSER_URL = HOMEPATHRUL + "Contorl/snbrower";
- //浏览器网址管控
-}
diff --git a/app/src/main/java/com/info/sn/network/api/APPJump.java b/app/src/main/java/com/info/sn/network/api/APPJump.java
new file mode 100644
index 0000000..6692afd
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/APPJump.java
@@ -0,0 +1,18 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.AppJump;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface APPJump {
+ @GET(UrlAddress.GET_APP_JUMP)
+ Observable>> getSNJump(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/AddAppInstall.java b/app/src/main/java/com/info/sn/network/api/AddAppInstall.java
new file mode 100644
index 0000000..e373052
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/AddAppInstall.java
@@ -0,0 +1,21 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.Field;
+import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.POST;
+
+public interface AddAppInstall {
+ @FormUrlEncoded
+ @POST(UrlAddress.SEND_INSTALLEDORREMOVED)
+ Observable installorRemove(
+ @Field("sn") String sn,
+ @Field("packageName") String packageName,
+ @Field("versionCode") int versionCode,
+ @Field("type") int type
+ );
+
+}
diff --git a/app/src/main/java/com/info/sn/network/api/Applog.java b/app/src/main/java/com/info/sn/network/api/Applog.java
new file mode 100644
index 0000000..25f120c
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/Applog.java
@@ -0,0 +1,20 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface Applog {
+ @GET(UrlAddress.APPLOG)
+ Observable getApplog(
+ @Query("sn") String sn,
+ @Query("app_name") String app_name,
+ @Query("use_time") String use_time,
+ @Query("status") String status,
+ @Query("createtime") String createtime
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/BindDevices.java b/app/src/main/java/com/info/sn/network/api/BindDevices.java
new file mode 100644
index 0000000..ac7143b
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/BindDevices.java
@@ -0,0 +1,17 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface BindDevices {
+ @GET(UrlAddress.BIND_DEVICES)
+ Observable getBindDevices(
+ @Query("sn") String sn,
+ @Query("id") String id,
+ @Query("type") int type
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/Browser.java b/app/src/main/java/com/info/sn/network/api/Browser.java
new file mode 100644
index 0000000..6559a6a
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/Browser.java
@@ -0,0 +1,15 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface Browser {
+ @GET(UrlAddress.SET_BROWSER_URL)
+ Observable getBrowser(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/ForceInstall.java b/app/src/main/java/com/info/sn/network/api/ForceInstall.java
new file mode 100644
index 0000000..4cded8a
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/ForceInstall.java
@@ -0,0 +1,19 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.AppInfo;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface ForceInstall {
+ @GET(UrlAddress.GET_FORCE_INSTALL)
+ Observable>> getForceInstall(
+ @Query("sn") String sn
+ );
+
+}
diff --git a/app/src/main/java/com/info/sn/network/api/HTTPInterface.java b/app/src/main/java/com/info/sn/network/api/HTTPInterface.java
deleted file mode 100644
index 28f284a..0000000
--- a/app/src/main/java/com/info/sn/network/api/HTTPInterface.java
+++ /dev/null
@@ -1,451 +0,0 @@
-package com.info.sn.network.api;
-
-import android.content.Context;
-import android.icu.text.SimpleDateFormat;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.annotation.RequiresApi;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONException;
-import com.alibaba.fastjson.JSONObject;
-import com.info.sn.MainActivity;
-import com.info.sn.bean.MessageWhat;
-import com.info.sn.bean.UserInfo;
-import com.info.sn.jpush.TagAliasOperatorHelper;
-import com.info.sn.network.UrlPath;
-import com.info.sn.utils.LogUtils;
-import com.info.sn.utils.SPUtils;
-import com.info.sn.utils.ToastUtil;
-import com.info.sn.utils.Utils;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.StringCallback;
-import com.lzy.okgo.model.Response;
-
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Random;
-import java.util.Set;
-
-import okhttp3.Call;
-import okhttp3.internal.Util;
-
-public class HTTPInterface {
-
- //获取设备信息接口
- public static synchronized void checkDevicesInfo(final Handler handler) {
- OkGo.post(UrlPath.SNINFO)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- Log.e("onSuccess", "checkDevicesInfo");
- try {
- JSONObject bodyObject = JSON.parseObject(response.body());
- Integer code = (bodyObject.getInteger("code"));
- String msg = bodyObject.getString("msg");
- String data = bodyObject.getString("data");
- UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
- Message message = new Message();
- message.obj = userInfo;
- if (code == 200) {
- message.what = 1;
- handler.sendMessage(message);
- } else if (code == -200) {
- message.what = 0;
- handler.sendMessage(message);
- } else if (code == -250) {
- ToastUtil.show(msg);
- handler.sendEmptyMessage(2);
- //设备验证
- }
- } catch (Exception ex) {
- Log.e("checkDevicesInfo", ex.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("onError", response.getException().toString());
-
- }
- });
- }
- public static synchronized void checkDevicesInfo(final Context context) {
- OkGo.post(UrlPath.SNINFO)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- Log.e("onSuccess", "checkDevicesInfo");
- try {
- JSONObject bodyObject = JSON.parseObject(response.body());
- Integer code = (bodyObject.getInteger("code"));
- String msg = bodyObject.getString("msg");
- String data = bodyObject.getString("data");
- UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
- if (code == 200) {
- SPUtils.put(context, "isLogined", 1);
- SPUtils.put(context, "member_id", userInfo.getMember_id());
- SPUtils.put(context, "sn_id", userInfo.getId());
- } else if (code == -200) {
- SPUtils.put(context, "isLogined", 0);
-
- } else if (code == -250) {
- SPUtils.put(context, "isLogined", 2);
- //设备验证
- }
- } catch (Exception ex) {
- Log.e("checkDevicesInfo", ex.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("onError", response.getException().toString());
-
- }
- });
- }
-
- @RequiresApi(api = Build.VERSION_CODES.N)
- public static void sendTimeLog(final Handler handler, UserInfo userInfo, String appname, int status, long time) {
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = new Date(System.currentTimeMillis());
- String times = simpleDateFormat.format(date);
- OkGo.post(UrlPath.APPLOG)
- .params("sn", Utils.getSerial())
- .params("app_name", appname)
- .params("use_time", time)
- .params("status", status)
- .params("createtime", times)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- Log.e("onSuccess", "sendTimeLog");
- try {
- JSONObject bodyObject = JSON.parseObject(response.body());
- Log.e("onSuccess", bodyObject.toString());
-
- Integer code = (bodyObject.getInteger("code"));
- String msg = bodyObject.getString("msg");
- String data = bodyObject.getString("data");
- UserInfo userInfo = JSON.parseObject(data, UserInfo.class);
- Message message = new Message();
- message.obj = userInfo;
- if (code == 200) {
-
- } else if (code == -200) {
-
- } else if (code == -250) {
-
- }
- } catch (Exception ex) {
- Log.e("checkDevicesInfo", ex.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("onError", response.getException().toString());
-
- }
- });
- }
-
- synchronized public static void checkUpdateByPackage(final Handler handler, String packageName, String versionCode) {
- OkGo.post(UrlPath.GET_APP_UPDATE)
- .params("code", versionCode)
- .params("package", packageName)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- try {
- JSONObject body = JSON.parseObject(response.body());
- int code = body.getInteger("code");
- String msg = body.getString("msg");
- if (code == 200) {
- Message message = new Message();
- JSONObject data = JSON.parseObject(body.getString("data"));
- if (data != null) {
- String url = data.getString("downloadurl");
- String newversion = data.getString("newversion");
- String content = data.getString("content");
-
- message.what = 200;
- Bundle bundle = new Bundle();
- bundle.putString("url", url);
- bundle.putString("versionCode", newversion);
- bundle.putString("content", content);
- message.obj = bundle;
- }
- handler.sendMessage(message);
-// Log.e("checkUpdateSN", msg);
- } else {
- handler.sendEmptyMessage(-200);
-// Log.e("checkUpdateSN", msg);
- }
- } catch (Exception e) {
-// Log.e("checkUpdateSN", e.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- handler.sendEmptyMessage(-300);
-// Log.e("checkUpdateSN", response.getException().toString());
- }
- });
- }
-
- synchronized public static void checkUpdateByself(final Handler handler, String packageName, String versionCode) {
- OkGo.post(UrlPath.GET_APP_UPDATE)
- .params("code", versionCode)
- .params("package", packageName)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- try {
- JSONObject body = JSON.parseObject(response.body());
- int code = body.getInteger("code");
- String msg = body.getString("msg");
- if (code == 200) {
- Message message = new Message();
- JSONObject data = JSON.parseObject(body.getString("data"));
- if (data != null) {
- String url = data.getString("downloadurl");
- String newversion = data.getString("newversion");
- String content = data.getString("content");
- message.what = 300;
- Bundle bundle = new Bundle();
- bundle.putString("url", url);
- bundle.putString("versionCode", newversion);
- bundle.putString("content", content);
- message.obj = bundle;
- }
- handler.sendMessage(message);
-// Log.e("checkUpdateSN", msg);
- } else {
- handler.sendEmptyMessage(-200);
-// Log.e("checkUpdateSN", msg);
- }
- } catch (Exception e) {
-// Log.e("checkUpdateSN", e.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- handler.sendEmptyMessage(-300);
-// Log.e("checkUpdateSN", response.getException().toString());
- }
- });
- }
-
- synchronized public static void setAppuninstallInfo(String sn_id, String packageName) {
- OkGo.post(UrlPath.SET_APP_UNINSTALL_INFO)
- .params("sn_id", sn_id)
- .params("package", packageName)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- JSONObject object = JSON.parseObject(response.body());
- int code = object.getInteger("code");
- String msg = object.getString("msg");
- LogUtils.e("setAppinstallInfo", msg);
- if (code == MessageWhat.CODE_SUCCESSFUL) {
-
- } else {
-
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- LogUtils.e("setAppinstallInfo", "onError:" + response.getException());
-
- }
- });
-
- }
-
- synchronized public static void sendStartTime(Context context, long startTime, String packageName, int battery, String random) {
- String sn_id = (String) SPUtils.get(context, "sn_id", "-1");
- String member_id = (String) SPUtils.get(context, "member_id", "-1");
- OkGo.post(UrlPath.SEND_RUNINGAPPINFO)
- .params("start_time", startTime)
- .params("package", packageName)
- .params("battery", battery)
- .params("member_id", member_id)
- .params("sn_id", sn_id)
- .params("random", random)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- String body = response.body();
- LogUtils.e("sendStartTime", body);
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- LogUtils.e("sendStartTime", response.getException().toString());
-
- }
- });
- }
-
- synchronized public static void getDriveState(String member_id, String sn_id) {
-
- OkGo.post(UrlPath.SEND_DRIVE_STATE)
- .params("member_id", member_id)
- .params("sn_id", sn_id)
- .params("status", 1)
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
-
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
-
- }
- });
- }
-
- synchronized public static void getAllAppPackageName(final Handler handler) {
- OkGo.post(UrlPath.GET_ALL_PACKAGENAME)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- String s = response.body();
- try {
- JSONObject body = JSON.parseObject(s);
- int code = body.getInteger("code");
- String msg = body.getString("msg");
- String data = body.getString("data");
- if (code == 200) {
- List jsonArray = JSON.parseArray(data, JSONObject.class);
- String packageList = "";
- for (JSONObject jsonObject : jsonArray) {
- packageList += jsonObject.getString("app_package") + ",";
- }
- if (!packageList.isEmpty()) {
- Log.e("getAllAppPackageName", packageList);
- Message message = new Message();
- message.what = 201;
- message.obj = packageList;
- handler.sendMessage(message);
- } else {
- handler.sendEmptyMessage(202);
- }
- }
- } catch (Exception e) {
-
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("getAllAppPackageName", response.getException().getMessage());
- }
- });
- }
-
-
- synchronized public static void getAllAppPackageName(final Context context) {
- OkGo.post(UrlPath.GET_ALL_PACKAGENAME)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- String s = response.body();
- try {
- com.alibaba.fastjson.JSONObject body = JSON.parseObject(s);
- int code = body.getInteger("code");
- String msg = body.getString("msg");
- Log.e("msg", "getAllAppPackageName" + msg);
- String data = body.getString("data");
- if (code == 200) {
- List jsonArray = JSON.parseArray(data, com.alibaba.fastjson.JSONObject.class);
- String packageList = "";
- for (com.alibaba.fastjson.JSONObject jsonObject : jsonArray) {
- packageList += jsonObject.getString("app_package") + ",";
- }
- packageList = packageList + "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools,com.jiaoguanyi.pager2,com.android.uiuios";
- Log.e("packageList now", packageList);
- Log.e("packageList", Settings.System.getString(context.getContentResolver(), "qch_app_forbid"));
- Settings.System.putString(context.getContentResolver(), "qch_app_forbid", packageList);
- }else {
- Settings.System.putString(context.getContentResolver(), "qch_app_forbid", "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools,com.jiaoguanyi.pager2,com.android.uiuios");
-
- }
- } catch (Exception e) {
- Log.e("getAllAppPackageName", e.getMessage());
- }
- }
-
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("getAllAppPackageName", response.getException().getMessage());
- }
- });
- }
-
-
- public static void setBrowser(final Context context) {
- OkGo.post(UrlPath.SET_BROWSER_URL)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- try {
- JSONObject jsonObject = JSON.parseObject(response.body());
- int code = jsonObject.getInteger("code");
- String msg = jsonObject.getString("msg");
- if (code == 200) {
- JSONObject data = JSON.parseObject(jsonObject.getString("data"));
- String white = data.getString("white");
- if (white != null && !white.equals("")) {
- boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white);
- Log.e("SystemSetting", "setBrowserList---------" + whiteList + ":" + white);
- } else {
- Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " ");
- }
- String black = data.getString("black");
- if (black != null && !black.equals("")) {
- boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
- Log.e("SystemSetting", "setBrowserList---------" + blackList + ":" + black);
- } else {
- Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
- }
- } else {
- Log.e("fht", "setBrowserList" + msg);
- }
- } catch (JSONException e) {
- Log.e("fht", "setBrowserList" + e.getMessage());
-
- }
- }
- });
- }
-
-
-}
diff --git a/app/src/main/java/com/info/sn/network/api/Label.java b/app/src/main/java/com/info/sn/network/api/Label.java
new file mode 100644
index 0000000..1b95244
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/Label.java
@@ -0,0 +1,19 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.bean.BrowserLabel;
+import com.info.sn.network.UrlAddress;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface Label {
+ @GET(UrlAddress.SET_BROWSER_Label)
+ Observable getLabel(
+ @Query("sn") String sn
+ );
+
+}
diff --git a/app/src/main/java/com/info/sn/network/api/QuerySnAppStart.java b/app/src/main/java/com/info/sn/network/api/QuerySnAppStart.java
new file mode 100644
index 0000000..5b46c8e
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/QuerySnAppStart.java
@@ -0,0 +1,18 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.AppStart;
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface QuerySnAppStart {
+ @GET(UrlAddress.GET_APP_START)
+ Observable>> getAppStatu(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/SNInfo.java b/app/src/main/java/com/info/sn/network/api/SNInfo.java
new file mode 100644
index 0000000..5d03f30
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/SNInfo.java
@@ -0,0 +1,16 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.bean.UserInfo;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface SNInfo {
+ @GET(UrlAddress.SNINFO)
+ Observable> getsninfo(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/Setting.java b/app/src/main/java/com/info/sn/network/api/Setting.java
new file mode 100644
index 0000000..a910b33
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/Setting.java
@@ -0,0 +1,16 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.bean.SystemSettings;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface Setting {
+ @GET(UrlAddress.GET_SETTINGS)
+ Observable> getSetting(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/info/sn/network/api/UpdateAdminSn.java b/app/src/main/java/com/info/sn/network/api/UpdateAdminSn.java
new file mode 100644
index 0000000..ec0a1c8
--- /dev/null
+++ b/app/src/main/java/com/info/sn/network/api/UpdateAdminSn.java
@@ -0,0 +1,21 @@
+package com.info.sn.network.api;
+
+import com.info.sn.bean.BaseResponse;
+import com.info.sn.network.UrlAddress;
+
+import io.reactivex.Observable;
+import retrofit2.http.Field;
+import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.POST;
+
+public interface UpdateAdminSn {
+ @FormUrlEncoded
+ @POST(UrlAddress.UPDATE_SNINFO)
+ Observable sendAdminSn(
+ @Field("sn")String sn,
+ @Field("address")String address,
+ @Field("machine")String machine,
+ @Field("hardware")String hardware
+ );
+
+}
diff --git a/app/src/main/java/com/info/sn/receiver/APKinstallReceiver.java b/app/src/main/java/com/info/sn/receiver/APKinstallReceiver.java
index fa2ffea..91a11cf 100644
--- a/app/src/main/java/com/info/sn/receiver/APKinstallReceiver.java
+++ b/app/src/main/java/com/info/sn/receiver/APKinstallReceiver.java
@@ -4,16 +4,23 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import com.info.sn.network.HTTPInterface;
+import com.info.sn.utils.ApkUtils;
+
public class APKinstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
-
- if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED) || intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)) {
+ String action = intent.getAction();
+ if (action.equals(Intent.ACTION_PACKAGE_ADDED) || action.equals(Intent.ACTION_PACKAGE_REPLACED)) {
String packageName = intent.getDataString().replace("package:", "");
-
+ int code = ApkUtils.getAppVersionCode(context,packageName);
+ HTTPInterface.SendAppInstall(packageName,code ,1);
+ } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
+ String packageName = intent.getDataString().replace("package:", "");
+ HTTPInterface.SendAppInstall(packageName,0 ,2);
}
}
}
diff --git a/app/src/main/java/com/info/sn/receiver/BootReceiver.java b/app/src/main/java/com/info/sn/receiver/BootReceiver.java
index 2cd6107..991aaa2 100644
--- a/app/src/main/java/com/info/sn/receiver/BootReceiver.java
+++ b/app/src/main/java/com/info/sn/receiver/BootReceiver.java
@@ -6,6 +6,7 @@ import android.content.Intent;
import android.util.Log;
import com.info.sn.service.GuardService;
+import com.info.sn.service.InitJpushServer;
import com.info.sn.service.MyDownloadService;
import com.info.sn.service.StepService;
@@ -30,8 +31,9 @@ public class BootReceiver extends BroadcastReceiver {
|| intent.getAction().equals("android.intent.action.ACTION_SCREEN_OFF")) {
// Intent i = new Intent(context, InitJpushServer.class);
// context.startService(i);
- context.startService(new Intent(context, StepService.class));
context.startService(new Intent(context, GuardService.class));
+ context.startService(new Intent(context, StepService.class));
+ context.startService(new Intent(context, InitJpushServer.class));
context.startService(new Intent(context, MyDownloadService.class));
}
diff --git a/app/src/main/java/com/info/sn/service/InitJpushServer.java b/app/src/main/java/com/info/sn/service/InitJpushServer.java
index f6926a3..c6df8c1 100644
--- a/app/src/main/java/com/info/sn/service/InitJpushServer.java
+++ b/app/src/main/java/com/info/sn/service/InitJpushServer.java
@@ -2,11 +2,9 @@ package com.info.sn.service;
import android.app.Service;
import android.content.Intent;
-import android.os.Handler;
import android.os.IBinder;
-import android.os.Message;
-import com.info.sn.network.api.HTTPInterface;
+import com.info.sn.KeepAliveConnection;
public class InitJpushServer extends Service {
public InitJpushServer() {
@@ -17,7 +15,8 @@ public class InitJpushServer extends Service {
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
// throw new UnsupportedOperationException("Not yet implemented");
- return null;
+ return new KeepAliveConnection.Stub() {
+ };
}
@@ -28,16 +27,7 @@ public class InitJpushServer extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
- HTTPInterface.checkDevicesInfo(InitJpushServer.this);
+// HTTPInterface.checkDevicesInfo(InitJpushServer.this);
return START_STICKY;
}
-
-
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- }
- };
-
}
diff --git a/app/src/main/java/com/info/sn/service/MyDownloadService.java b/app/src/main/java/com/info/sn/service/MyDownloadService.java
index b141eeb..6b3faf7 100644
--- a/app/src/main/java/com/info/sn/service/MyDownloadService.java
+++ b/app/src/main/java/com/info/sn/service/MyDownloadService.java
@@ -21,27 +21,18 @@ import androidx.annotation.Nullable;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.task.DownloadTask;
-import com.blankj.utilcode.util.NetworkUtils;
-import com.blankj.utilcode.util.ToastUtils;
-import com.info.sn.BuildConfig;
+import com.info.sn.KeepAliveConnection;
import com.info.sn.R;
-import com.info.sn.network.api.HTTPInterface;
import com.info.sn.utils.ApkUtils;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.FileCallback;
-import com.lzy.okgo.model.Progress;
-import com.lzy.okgo.model.Response;
import java.io.File;
-import java.lang.ref.WeakReference;
// 下载管理服务
-public class MyDownloadService extends Service implements NetworkUtils.OnNetworkStatusChangedListener {
+public class MyDownloadService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
- flags = START_STICKY;
startService(new Intent(this, StepService.class));
startService(new Intent(this, GuardService.class));
CheckUpdate();
@@ -53,7 +44,6 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
//静默升级更新工具
// HTTPInterface.getAllAppPackageName(handler);
Aria.download(this).register();
-
Aria.download(this).resumeAllTask();
//恢复所有未完成的下载任务
return START_STICKY;
@@ -63,27 +53,10 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
@Override
public void onCreate() {
super.onCreate();
-
-
-// new Thread(new Runnable() {
-// @Override
-// public void run() {
-// while (true) {
-// LogUtils.e("packagename", MyApplication.getTaskPackname());
-// LogUtils.e("packagename", String.valueOf(MyApplication.getSystemBattery()));
-//// MyApplication.sendStartTime();
-// try {
-// Thread.sleep(5000);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
-// }
-// }
-// }
-// }).start();
}
synchronized private void CheckUpdate() {
- HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
+// HTTPInterface.checkUpdateByself(handler, this.getPackageName(), String.valueOf(BuildConfig.VERSION_CODE));
}
synchronized private void CheckUpdateByPackageName(String packageName, Handler handlers) {
@@ -95,9 +68,9 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
e.printStackTrace();
}
if (null != packageInfo) {
- HTTPInterface.checkUpdateByPackage(handlers, packageName, String.valueOf(packageInfo.versionCode));
+// HTTPInterface.checkUpdateByPackage(handlers, packageName, String.valueOf(packageInfo.versionCode));
} else {
- HTTPInterface.checkUpdateByPackage(handlers, packageName, "0");
+// HTTPInterface.checkUpdateByPackage(handlers, packageName, "0");
}
}
@@ -109,7 +82,8 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
@Nullable
@Override
public IBinder onBind(Intent intent) {
- return null;
+ return new KeepAliveConnection.Stub() {
+ };
}
private Handler handler = new Handler() {
@@ -128,7 +102,7 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
String apppackage = (String) msg.obj;
Log.e("handler", Settings.System.getString(getContentResolver(), "qch_app_forbid") + "?");
try {
- Settings.System.putString(getContentResolver(), "qch_app_forbid", apppackage+ "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools");
+ Settings.System.putString(getContentResolver(), "qch_app_forbid", apppackage + "com.info.sn,com.android.uiuios,com.appstore.uiui,com.uiuios.updatetools");
} catch (Exception e) {
Log.e("fht", e.getMessage());
}
@@ -168,43 +142,7 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
// ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
// ad.show();
} else {
- OkGo.get(url)
- .execute(new FileCallback("Sninfo/" + url.substring(url.lastIndexOf("/") + 1)) {
- @Override
- public void onSuccess(final Response response) {
-// Settings.System.putString(getApplicationContext().getContentResolver(), "qch_app_forbid", "com.baidu.video");
-// ApkUtils.installApkInSilence(response.body().getAbsolutePath(), Launcher.this.getPackageName());
-// AlertDialog.Builder builder = new AlertDialog.Builder(MyDownFile download FailureloadService.this)
-// .setTitle("软件更新")
-// .setIcon(R.mipmap.ic_launcher)
-// .setCancelable(false)
-// .setMessage("发现新版本,点击确定更新\n" + "更新内容:" + bundle.getString("content"))
-// .setPositiveButton("确定", new DialogInterface.OnClickListener() {
-// @Override
-// public void onClick(DialogInterface dialogInterface, int i) {
- ApkUtils.installApp(MyDownloadService.this, response.body().getAbsolutePath());
-// dialogInterface.dismiss();
-// }
-// });
-// AlertDialog ad = builder.create();
-// ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
-// ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
-// ad.show();
- Log.e("getFile", "download file successful,now installing");
- }
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("getFile", "File download Failure" + response.getException());
- }
-
- @Override
- public void downloadProgress(Progress progress) {
- super.downloadProgress(progress);
- Log.e("getFile", "已下载:" + progress.currentSize + ",总大小:" + progress.totalSize + ",进度:" + progress.fraction + ",当前网速:" + progress.speed);
- }
- });
}
}
@@ -233,61 +171,14 @@ public class MyDownloadService extends Service implements NetworkUtils.OnNetwork
ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
ad.show();
} else {
- OkGo.get(url)
- .execute(new FileCallback("Sninfo/" + url.substring(url.lastIndexOf("/") + 1)) {
- @Override
- public void onSuccess(final Response response) {
-// Settings.System.putString(getApplicationContext().getContentResolver(), "qch_app_forbid", "com.baidu.video");
-// ApkUtils.installApkInSilence(response.body().getAbsolutePath(), Launcher.this.getPackageName());
- AlertDialog.Builder builder = new AlertDialog.Builder(MyDownloadService.this)
- .setTitle("软件更新")
- .setIcon(R.mipmap.ic_launcher)
- .setCancelable(false)
- .setMessage("发现新版本,点击确定更新\n" + "更新内容:" + bundle.getString("content"))
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- ApkUtils.installApk(MyDownloadService.this, response.body());
- dialogInterface.dismiss();
- }
- });
- AlertDialog ad = builder.create();
- ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
- ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
- ad.show();
- Log.e("getFile", "download file successful,now installing");
- }
- @Override
- public void onError(Response response) {
- super.onError(response);
- Log.e("getFile", "File download Failure" + response.getException());
- }
-
- @Override
- public void downloadProgress(Progress progress) {
- super.downloadProgress(progress);
- Log.e("getFile", "已下载:" + progress.currentSize + ",总大小:" + progress.totalSize + ",进度:" + progress.fraction + ",当前网速:" + progress.speed);
- }
- });
}
}
- @Override
- public void onDisconnected() {
-
- }
-
- @Override
- public void onConnected(NetworkUtils.NetworkType networkType) {
- Aria.download(this).resumeAllTask();
- }
-
//在这里处理任务执行中的状态,如进度进度条的刷新
@Download.onTaskRunning
protected void running(DownloadTask task) {
- ToastUtils.showShort("正在下载:" + task.getExtendField() + "-" + task.getPercent() + "%");
Log.e("aria running", "正在下载:" + task.getState() + "--" + task.getPercent() + "--" + task.getExtendField());
}
diff --git a/app/src/main/java/com/info/sn/service/StepService.java b/app/src/main/java/com/info/sn/service/StepService.java
index 0a345f9..07097b4 100644
--- a/app/src/main/java/com/info/sn/service/StepService.java
+++ b/app/src/main/java/com/info/sn/service/StepService.java
@@ -20,7 +20,7 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.info.sn.KeepAliveConnection;
-import com.info.sn.network.JWebSocketClient;
+import com.info.sn.websocket.JWebSocketClient;
import com.info.sn.utils.LogUtils;
import com.info.sn.utils.ServiceAliveUtils;
import com.info.sn.utils.Utils;
@@ -197,4 +197,10 @@ public class StepService extends Service {
}
}.start();
}
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ closeConnect();
+ }
}
diff --git a/app/src/main/java/com/info/sn/utils/ApkUtils.java b/app/src/main/java/com/info/sn/utils/ApkUtils.java
index a1276a7..923110c 100644
--- a/app/src/main/java/com/info/sn/utils/ApkUtils.java
+++ b/app/src/main/java/com/info/sn/utils/ApkUtils.java
@@ -38,11 +38,6 @@ import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import rx.Observable;
-import rx.Observer;
-import rx.Subscriber;
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
public class ApkUtils {
@@ -215,94 +210,94 @@ public class ApkUtils {
}
- public static void installRx(final Context context, final String packageName, final String filePath) {
-
- Observable.create(new Observable.OnSubscribe() {
- @Override
- public void call(Subscriber super Integer> subscriber) {
- File file = new File(filePath);
- if (filePath == null || filePath.length() == 0 || file == null) {
- Log.e("fanhuitong", "errormesg=========" + " 空啊 ");
- subscriber.onNext(0);
- return;
- }
- // String[] args = { "pm", "install", "-r", filePath };
- String[] args = {"pm", "install", "-i", "com.colorflykids", "--user", "0", filePath};
- // String argss = "pm install -i " + "com.colorflykids" + " --user 0 " + filePath;
- Log.e("fanhuitong", "argss====" + args);
- ProcessBuilder processBuilder = new ProcessBuilder(args);
- Process process = null;
- BufferedReader successResult = null;
- BufferedReader errorResult = null;
- StringBuilder successMsg = new StringBuilder();
- StringBuilder errorMsg = new StringBuilder();
- try {
- process = processBuilder.start();
- successResult = new BufferedReader(new InputStreamReader(process.getInputStream()));
- errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream()));
- String s;
- while ((s = successResult.readLine()) != null) {
- Log.e("mjhseng", "successResult----------" + s);
- successMsg.append(s);
- }
- while ((s = errorResult.readLine()) != null) {
- Log.e("mjhseng", "errorResult----------" + s);
- errorMsg.append(s);
- }
- } catch (IOException e1) {
- Log.e("fanhuitong", "IOException e1)----------" + e1.toString());
- e1.printStackTrace();
- } finally {
- try {
- if (successResult != null) {
- successResult.close();
- }
- if (errorResult != null) {
- errorResult.close();
- }
- } catch (IOException e1) {
- Log.e("fanhuitong", "IOException e11)---------" + e1.toString());
- e1.printStackTrace();
- }
- if (process != null) {
- process.destroy();
- }
- }
- if (successMsg.toString().contains("Success") || successMsg.toString().contains("success")) {
- subscriber.onNext(2);
- } else {
- Log.e("fanhuitong", "errormesg=========" + errorMsg.toString());
- subscriber.onNext(1);
- }
- }
- }).subscribeOn(Schedulers.newThread())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
-
- @Override
- public void onNext(Integer value) {
- if (value == 2) {
- //安装成功
- ToastUtil.show("安装成功");
- Log.e("fanhuitong", "-----------安装成功-----------");
- } else {
- //安装错误
- Log.e("fanhuitong", "------------安装错误-----------");
- ToastUtil.show("安装失败");
- }
- }
-
- @Override
- public void onCompleted() {
-
- }
-
- @Override
- public void onError(Throwable e) {
- //安装错误
- }
- });
- }
+// public static void installRx(final Context context, final String packageName, final String filePath) {
+//
+// Observable.create(new Observable.OnSubscribe() {
+// @Override
+// public void call(Subscriber super Integer> subscriber) {
+// File file = new File(filePath);
+// if (filePath == null || filePath.length() == 0 || file == null) {
+// Log.e("fanhuitong", "errormesg=========" + " 空啊 ");
+// subscriber.onNext(0);
+// return;
+// }
+// // String[] args = { "pm", "install", "-r", filePath };
+// String[] args = {"pm", "install", "-i", "com.colorflykids", "--user", "0", filePath};
+// // String argss = "pm install -i " + "com.colorflykids" + " --user 0 " + filePath;
+// Log.e("fanhuitong", "argss====" + args);
+// ProcessBuilder processBuilder = new ProcessBuilder(args);
+// Process process = null;
+// BufferedReader successResult = null;
+// BufferedReader errorResult = null;
+// StringBuilder successMsg = new StringBuilder();
+// StringBuilder errorMsg = new StringBuilder();
+// try {
+// process = processBuilder.start();
+// successResult = new BufferedReader(new InputStreamReader(process.getInputStream()));
+// errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream()));
+// String s;
+// while ((s = successResult.readLine()) != null) {
+// Log.e("mjhseng", "successResult----------" + s);
+// successMsg.append(s);
+// }
+// while ((s = errorResult.readLine()) != null) {
+// Log.e("mjhseng", "errorResult----------" + s);
+// errorMsg.append(s);
+// }
+// } catch (IOException e1) {
+// Log.e("fanhuitong", "IOException e1)----------" + e1.toString());
+// e1.printStackTrace();
+// } finally {
+// try {
+// if (successResult != null) {
+// successResult.close();
+// }
+// if (errorResult != null) {
+// errorResult.close();
+// }
+// } catch (IOException e1) {
+// Log.e("fanhuitong", "IOException e11)---------" + e1.toString());
+// e1.printStackTrace();
+// }
+// if (process != null) {
+// process.destroy();
+// }
+// }
+// if (successMsg.toString().contains("Success") || successMsg.toString().contains("success")) {
+// subscriber.onNext(2);
+// } else {
+// Log.e("fanhuitong", "errormesg=========" + errorMsg.toString());
+// subscriber.onNext(1);
+// }
+// }
+// }).subscribeOn(Schedulers.newThread())
+// .observeOn(AndroidSchedulers.mainThread())
+// .subscribe(new Observer() {
+//
+// @Override
+// public void onNext(Integer value) {
+// if (value == 2) {
+// //安装成功
+// ToastUtil.show("安装成功");
+// Log.e("fanhuitong", "-----------安装成功-----------");
+// } else {
+// //安装错误
+// Log.e("fanhuitong", "------------安装错误-----------");
+// ToastUtil.show("安装失败");
+// }
+// }
+//
+// @Override
+// public void onCompleted() {
+//
+// }
+//
+// @Override
+// public void onError(Throwable e) {
+// //安装错误
+// }
+// });
+// }
// public static void installApp(final String path, final String packageNames){
// File apkFile = new File(path);
@@ -643,4 +638,25 @@ public class ApkUtils {
}
+ public static int getAppVersionCode(Context context, String packageName) {
+ PackageManager pm = context.getPackageManager();
+ PackageInfo info = null;
+ try {
+ info = pm.getPackageInfo(packageName, 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+ if (null != info) {
+ long appVersionCode;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ appVersionCode = info.getLongVersionCode();
+ } else {
+ appVersionCode = info.versionCode;
+ }
+ return (int) appVersionCode;
+ } else {
+ return 0;
+ }
+ }
+
}
diff --git a/app/src/main/java/com/info/sn/utils/FileUtils.java b/app/src/main/java/com/info/sn/utils/FileUtils.java
new file mode 100644
index 0000000..3c9232d
--- /dev/null
+++ b/app/src/main/java/com/info/sn/utils/FileUtils.java
@@ -0,0 +1,88 @@
+package com.info.sn.utils;
+
+import android.content.Context;
+import android.os.Environment;
+import android.util.Log;
+
+import com.alibaba.fastjson.JSONObject;
+import com.arialyy.aria.core.Aria;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+
+public class FileUtils {
+ public static String getFileNamefromURL(String url) {
+ int position = url.lastIndexOf("/");
+ return url.substring(position + 1);
+ }
+
+ public static String getMD5fromFileName(String fileName) {
+ int position = fileName.lastIndexOf("/");
+ return fileName.substring(position + 9, fileName.length() - 4);
+ }
+
+ /**
+ * 获取单个文件的MD5值
+ *
+ * @param file 文件
+ * @return
+ */
+
+ public static String getFileMD5s(File file) {
+ if (!file.isFile()) {
+ return null;
+ }
+ MessageDigest digest = null;
+ FileInputStream in = null;
+ byte buffer[] = new byte[1024];
+ int len;
+ try {
+ digest = MessageDigest.getInstance("MD5");
+ in = new FileInputStream(file);
+ while ((len = in.read(buffer, 0, 1024)) != -1) {
+ digest.update(buffer, 0, len);
+ }
+ in.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ BigInteger bigInt = new BigInteger(1, digest.digest());
+ return bigInt.toString(32);
+ }
+
+ public static void ariaDownload(Context context, String url, JSONObject jsonObject) {
+ String fileName = getFileNamefromURL(url);
+ String urlMD5 = jsonObject.getString("MD5");
+ Log.e("ariaDownload", "urlMD5=" + urlMD5);
+ File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/jgy/" + fileName);
+ if (file.exists() && !file.isDirectory()) {
+ String filenameMD5 = getMD5fromFileName(url);
+
+ String fileMD5 = getFileMD5s(file);
+ Log.e("ariaDownload", "filenameMD5=" + filenameMD5);
+ Log.e("ariaDownload", "fileMD5=" + fileMD5);
+ //后端还没有完成json字段的MD5,暂时用文件名获取
+ if (fileMD5.equalsIgnoreCase(filenameMD5)) {
+ ApkUtils.installApp(context, file.getAbsolutePath());
+ } else {
+ Aria.download(context)
+ .load(url) //读取下载地址
+ .setFilePath(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/jgy/" + fileName, true)
+ .setExtendField(jsonObject.toJSONString())
+ .create(); //启动下载}
+// SaveListUtils.addDownLoadList(app_package);
+// }
+ }
+ } else {
+ Aria.download(context)
+ .load(url) //读取下载地址
+ .setFilePath(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/jgy/" + fileName, true)
+ .setExtendField(jsonObject.toJSONString())
+ .create(); //启动下载}
+ }
+
+ }
+}
diff --git a/app/src/main/java/com/info/sn/utils/LogUtils.java b/app/src/main/java/com/info/sn/utils/LogUtils.java
index cb51ca2..fd7e391 100644
--- a/app/src/main/java/com/info/sn/utils/LogUtils.java
+++ b/app/src/main/java/com/info/sn/utils/LogUtils.java
@@ -4,9 +4,11 @@ import android.util.Log;
import com.info.sn.BuildConfig;
+/**
+ * @author Administrator
+ */
public class LogUtils {
static boolean isDebug = BuildConfig.LOG_DEBUG;
-// static boolean isDebug = BuildConfig.LOG_DEBUG;
public static void v(String tag, String msg) {
if (isDebug) {
diff --git a/app/src/main/java/com/info/sn/utils/SPUtils.java b/app/src/main/java/com/info/sn/utils/SPUtils.java
index 0332795..665c0d8 100644
--- a/app/src/main/java/com/info/sn/utils/SPUtils.java
+++ b/app/src/main/java/com/info/sn/utils/SPUtils.java
@@ -17,7 +17,7 @@ import java.util.Map;
/**
* 作者 mjsheng
* 日期 2018/10/9 18:41
- * 邮箱 278359328@qq.com
+ * 邮箱 501802639@qq.com
* 来自:
*/
@@ -86,22 +86,23 @@ public class SPUtils {
SharedPreferencesCompat.apply(editor);
}
- /**
- * 清除所有数据
- */
- public static void clear(Context context) {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sp.edit();
- editor.clear();
- SharedPreferencesCompat.apply(editor);
- reductFirstEnter(context);
- }
+// /**
+// * 清除所有数据
+// */
+// public static void clear(Context context) {
+// SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
+// Context.MODE_PRIVATE);
+// SharedPreferences.Editor editor = sp.edit();
+// editor.clear();
+// SharedPreferencesCompat.apply(editor);
+// reductFirstEnter(context);
+// }
+
+// //还原状态firstEnter信息
+// private static void reductFirstEnter(Context context){
+// put(context, CommonDatas.FLAG_FIRST_ENTER,CommonDatas.FLAG_FIRST_ENTER);
+// }
- //还原状态firstEnter信息
- private static void reductFirstEnter(Context context){
- put(context, CommonData.FLAG_FIRST_ENTER,CommonData.FLAG_FIRST_ENTER);
- }
/**
* 查询某个key是否已经存在
diff --git a/app/src/main/java/com/info/sn/utils/ServiceAliveUtils.java b/app/src/main/java/com/info/sn/utils/ServiceAliveUtils.java
index 2d672d0..c8755c1 100644
--- a/app/src/main/java/com/info/sn/utils/ServiceAliveUtils.java
+++ b/app/src/main/java/com/info/sn/utils/ServiceAliveUtils.java
@@ -3,14 +3,14 @@ package com.info.sn.utils;
import android.app.ActivityManager;
import android.content.Context;
-import com.info.sn.MyApplication;
+import com.info.sn.base.MyApplication;
public class ServiceAliveUtils {
public static boolean isServiceAlice() {
boolean isServiceRunning = false;
ActivityManager manager =
- (ActivityManager) MyApplication.getInstance().getAppContext().getSystemService(Context.ACTIVITY_SERVICE);
+ (ActivityManager) MyApplication.getAppContext().getSystemService(Context.ACTIVITY_SERVICE);
if (manager == null) {
return true;
}
diff --git a/app/src/main/java/com/info/sn/utils/Utils.java b/app/src/main/java/com/info/sn/utils/Utils.java
index 1c2b1e2..fbd62a4 100644
--- a/app/src/main/java/com/info/sn/utils/Utils.java
+++ b/app/src/main/java/com/info/sn/utils/Utils.java
@@ -1,11 +1,15 @@
package com.info.sn.utils;
import android.annotation.SuppressLint;
+import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
+import android.bluetooth.BluetoothAdapter;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
+import android.content.ContextWrapper;
import android.content.Intent;
+import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
@@ -24,133 +28,63 @@ import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
+import android.os.BatteryManager;
import android.os.Build;
+import android.os.StatFs;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.text.format.Formatter;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
+import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
-import com.info.sn.MyApplication;
+import com.info.sn.BuildConfig;
import com.info.sn.R;
+import com.info.sn.bean.SystemSettings;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileFilter;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.Reader;
import java.lang.reflect.Method;
import java.net.NetworkInterface;
+import java.net.SocketException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.regex.Pattern;
+
+import static java.lang.System.getProperty;
public class Utils {
-
-
- public static final String PACKAGE = "appstore";
- public static final String DOWNLOAD_STARTALL_ACTION = PACKAGE + "_startall"; // 开始所有任务
- public static final String DOWNLOAD_DELETE_UPDATE_ACTION = PACKAGE + "_download_update_delete"; // 删除应用更新文件
- public static final String DOWNLOAD_DELETEALL_ACTION = PACKAGE + "_deleteall_alltask"; // 删除所有任务
- public static final String DOWNLOAD_ALLTASK_ACTION = PACKAGE + "_download_alltask"; // 获取所有任务
- public static final String DOWNLOAD_START_ACTION = PACKAGE + "_download_start"; // 下载标识
- public static final String DOWNLOAD_STOP_ACTION = PACKAGE + "_download_stop"; // 暂停标识
- public static final String DOWNLOAD_DELETE_PACKAGENAME_ACTION = PACKAGE + "_download_packagename_delete"; // 删除标识 根据包名
- public static final String DOWNLOAD_DELETE_URL_ACTION = PACKAGE + "_download_url_delete"; // 删除标识 根据下载地址
- public static final String DOWNLOAD_INITIALIZE_ACTION = PACKAGE + "_download_initialize"; // item初始化状态
- public static final String DOWNLOAD_PACKAGENAME_ACTION = PACKAGE + "_download_packagename"; // item初始化状态 包名
- public static final String DOWNLOAD_SERVICE_ACTION = PACKAGE + "_download_service"; // 下载状态回调服务
-
- public static final String DOWNLOAD_ALLSERVICE_ACTION = PACKAGE + "_download_allservice"; // 返回所有下载任务
- public static final String DOWNLOAD_NEWSERVICE_ACTION = PACKAGE + "_download_newservice"; // 一个新的下载任务
-
- // JPush 推送消息
- public static final String MESSAGE_RECEIVED_ACTION = "com.appstore.jpushdemo.MESSAGE_RECEIVED_ACTION";
- public static final String KEY_TITLE = "title"; // 消息标题
- public static final String KEY_MESSAGE = "message"; // 消息内容
- public static final String KEY_EXTRAS = "extras"; // 消息内容类型
- public static final String KEY_TYPE = "type"; // 消息内容类型
-
-
- public static final String ACTION_PACKAGE_REPLACED = PACKAGE + "PACKAGE_REPLACED"; // 替换应用
- public static final String ACTION_PACKAGE_REMOVED = PACKAGE + "PACKAGE_REMOVED"; // 卸载应用
- public static final String ACTION_PACKAGE_ADDED = PACKAGE + "PACKAGE_ADDED"; // 安装应用
-
- // public static int[] babyImage = {R.drawable.language, R.drawable.habit, R.drawable.knowledge, R.drawable.security, R.drawable.promotion};
-// public static int[] childImage = {R.drawable.yuwen, R.drawable.shuxue, R.drawable.yingyu, R.drawable.qingshang, R.drawable.yishu, R.drawable.promotion};
-// public static int[] youngImage = {R.drawable.yuwen, R.drawable.shuxue, R.drawable.yingyu, R.drawable.promotion};
- // 学习日志上传标识
- public static final String APP_LRARNLOG = "com.colorflykids.alarm";
- // 学习日志下载标识
- public static final String APP_DOWNLOADLEARNLOG = "com.colorflykids.downloadlearnlog";
- // 账号注销标识
- public static final String APP_USERLOGOUT = "com.colorflykids.userlogout";
-
-
- public static final String UPDATE_SYSTEMUI = "cn.colorflykids.UPDATE_SYSTEMUI";
- public static final int COUNT_ONE_PAGE = 8;
- public static final int COUNT_ONE_PAGE2 = 10;
- public static final String YOUNGSYSTEM_APP_TONGBU = "com.school.app.syn"; // 小学系统 同步教材app
- /**
- *
- */
- public static final String number[] = {
- "1", "2", "3", "4", "5", "6", "7",
- "8", "9", "10", "0", "11"};
- public static final String STORE = "store";
- public static final String CATEGORY_THREE = "3";
- public static final String CATEGORY_SIX = "6";
- public static final String CATEGORY_UPSIX = "10";
- public static final String CLOSE_REST_WINDOW = "colse_rest_window";
- public static final String STOP_LOOPING_TIMER = "stop_looping_timer";
- public static final String START_LOOPING_TIMER = "start_looping_timer";
- public static String DOWNLOADAPP_CALLBACK = "com.colorflykids.downloadapp"; // 子界面下载回调 提示更新UI
- public static String MENU_YOUYOU = "youyou";
- public static String MENU_LANGUAGE = "语言启蒙";
- public static String MENU_HABIT = "行为习惯";
- public static String MENU_KNOWLEDGE = "生活认知";
- public static String MENU_SECURITY = "安全自理";
- public static String MENU_PROMOTION = "入园-综合提升";
- public static String MENU_LY = "优优乐园";
- public static String MENU_YW = "语文知识";
- public static String MENU_SX = "数理逻辑";
- public static String MENU_YY = "英语启蒙";
- public static String MENU_QS = "情商培养";
- public static String MENU_YS = "艺术提升";
- public static String MENU_ZH = "学前-综合提升";
- public static String MENU_TONGBUJIAOCAI = "同步教材";
- public static String MENU_YUWEN = "语文";
- public static String MENU_SHUXUE = "数学";
- public static String MENU_YINGYU = "英语";
- public static String MENU_ZONGHETISHEGN = "小学-综合提升";
- public static String[] babySystem = {MENU_LANGUAGE, MENU_HABIT, MENU_KNOWLEDGE, MENU_SECURITY, MENU_PROMOTION};
- public static String[] childSystem = {MENU_LY, MENU_YW, MENU_SX, MENU_YY, MENU_QS, MENU_YS, MENU_ZH};
- public static String[] youngSystem = {MENU_YUWEN, MENU_SHUXUE, MENU_YINGYU, MENU_ZONGHETISHEGN};
-
-
- public static String[] sonSystem = {MENU_HABIT, MENU_SECURITY, MENU_LANGUAGE, MENU_KNOWLEDGE, MENU_PROMOTION,
- MENU_LY, MENU_YW, MENU_SX, MENU_YY, MENU_QS, MENU_YS, MENU_ZH,
- MENU_TONGBUJIAOCAI, MENU_YUWEN, MENU_SHUXUE, MENU_YINGYU, MENU_YINGYU, MENU_ZONGHETISHEGN};
- public static String[][] tagList = {babySystem, childSystem, youngSystem};
- public static String subcategories[][] = {babySystem, childSystem, youngSystem};
- public static String system[] = {"入园系统", "学前系统", "小学系统"};
- public static String systemandno[] = {"入园系统", "学前系统", "小学系统", "未分配"};
+ private static final String TAG = "Utils";
protected static Toast toast = null;
private static String oldMsg;
private static long oneTime = 0;
@@ -299,7 +233,6 @@ public class Utils {
}
private static String getSimSerialNumber(Context context) {
-
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
@SuppressLint("MissingPermission") String simSerialNumber = tm.getSimSerialNumber();
@@ -743,9 +676,9 @@ public class Utils {
}
- public static String getSn() {
- return Build.SERIAL;
- }
+// public static String getSn() {
+// return Build.SERIAL;
+// }
public static Bitmap createQRImage(String content, int widthPix, int heightPix) {
try {
@@ -873,5 +806,599 @@ public class Utils {
// return bgBitmap;
}
+ private static int changeNum(int status) {
+ return status == 0 ? 1 : 0;
+ }
+
+ public static void setSystemSetting(Context context, String data) {
+ if (TextUtils.isEmpty(data)) {
+ return;
+ }
+ SystemSettings settings = JSON.parseObject(data, SystemSettings.class);
+ if (null != settings) {
+ setPhoneList(context, settings);
+ setUSBstate(context, settings);
+ setBluetooth(context, settings);
+ setHotspot(context, settings);
+ setBar(context, settings);
+ setCamera(context, settings);
+ setTF(context, settings);
+ setIcon(context, settings);
+ }
+
+ }
+
+ private static void setPhoneList(Context mContext, SystemSettings settings) {
+ //设置电话功能,电话白名单
+ int setting_call = changeNum(settings.getSetting_call());
+ boolean qch_call_forbid = Settings.System.putInt(mContext.getContentResolver(), "qch_call_forbid", setting_call);
+ Log.e("SystemSetting", "qch_call_forbid:" + qch_call_forbid);
+
+ int setting_phone = changeNum(settings.getSetting_phone());
+ boolean qch_white_list_on = Settings.System.putInt(mContext.getContentResolver(), "qch_white_list_on", setting_phone);
+ Log.e("SystemSetting", "qch_white_list_on:" + qch_white_list_on);
+
+ String setting_phones = settings.getSetting_phones();
+ boolean qch_white_list_Array = Settings.System.putString(mContext.getContentResolver(), "qch_white_list_Array", setting_phones);
+ Log.e("SystemSetting", "qch_white_list_Array:" + qch_white_list_Array + "=" + setting_phones);
+
+ int setting_memory = changeNum(settings.getSetting_memory());
+ boolean qch_sdcard_forbid_on = Settings.System.putInt(mContext.getContentResolver(), "qch_sdcard_forbid_on", setting_memory);
+ Log.e("SystemSetting", "qch_sdcard_forbid_on:" + qch_sdcard_forbid_on);
+ }
+
+ private static void setUSBstate(Context mContext, SystemSettings settings) {
+ //USB数据功能管控
+ //仅充电:usb_charge
+ //MTP模式:usb_mtp
+ //Midi模式:usb_midi
+ String setting_usb = settings.getSetting_usb();
+ if (!BuildConfig.DEBUG) {
+ try {
+ boolean qch_usb_choose = Settings.System.putString(mContext.getContentResolver(), "qch_usb_choose", setting_usb);
+ Log.e("SystemSetting", "qch_usb_choose:" + qch_usb_choose);
+ String usbStatus = "";
+ switch (setting_usb) {
+ case "usb_charge":
+ usbStatus = "qch_action_usb_usb_charge";
+ break;
+ case "usb_mtp":
+ usbStatus = "qch_action_usb_usb_mtp";
+ break;
+ case "usb_midi":
+ usbStatus = "qch_action_usb_usb_midi";
+ break;
+
+ }
+ Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
+ mContext.sendBroadcast(usbIntent);
+ } catch (Exception e) {
+ Log.e(TAG, "setUSBstate: " + e.getMessage());
+ }
+ }
+
+ }
+
+ private static void setBluetooth(Context mContext, SystemSettings settings) {
+ try {
+ //蓝牙开关
+ int setting_bht = changeNum(settings.getSetting_bht());
+ //总开关
+ int setting_bhtvideo = changeNum(settings.getSetting_bhtvideo());
+ //蓝牙音频开关
+ int setting_bluetooth = changeNum(settings.getSetting_bluetooth());
+ //蓝牙传输开关
+ boolean qch_bht_forbid_on = Settings.System.putInt(mContext.getContentResolver(), "qch_bht_forbid_on", setting_bht);
+ //写入系统数据库
+ Log.e("SystemSetting", "qch_bht_forbid_on:" + qch_bht_forbid_on);
+ BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+ if (qch_bht_forbid_on) {
+ //成功
+ if (null == mBluetoothAdapter) {
+ mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+ //获取默认蓝牙适配器
+ }
+ if (setting_bht == 0) {
+ //蓝牙总开关开启
+ String setting_context = settings.getSetting_context();
+ if (setting_bhtvideo == 0) {
+ if (null != setting_context && !setting_context.equals("") && !setting_context.equals(" ") && !setting_context.equals("null")) {
+ Log.e("SystemSetting", "setting_context:" + setting_context);
+ Settings.System.putString(mContext.getContentResolver(), "qch_bhtvideo_forbid_on", setting_context);
+ } else {
+ Settings.System.putString(mContext.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
+ }
+ } else if (setting_bhtvideo == 1) {
+ Settings.System.putString(mContext.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
+ }
+ Settings.System.putInt(mContext.getContentResolver(), "qch_bt_forbid_on", setting_bluetooth);
+ } else {
+ mBluetoothAdapter.disable();
+ //设置关闭时关闭蓝牙
+ }
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "setBluetooth: " + e.getMessage());
+ }
+ }
+
+ private static void setHotspot(Context mContext, SystemSettings settings) {
+ try {
+ int setting_hotspot = changeNum(settings.getSetting_hotspot());//热点
+ if (setting_hotspot == 1) {
+ Intent intent = new Intent();
+ intent.setAction("qch_hotspot_close");
+ intent.setPackage("com.android.settings");
+ mContext.sendStickyBroadcast(intent);
+ }
+ boolean qch_hotspot_forbid_on = Settings.System.putInt(mContext.getContentResolver(), "qch_hotspot_forbid_on", setting_hotspot);//写入系统数据库
+ Log.e("SystemSetting", "qch_hotspot_forbid_on:" + setting_hotspot);
+ Log.e("SystemSetting", "qch_hotspot_forbid_on:" + qch_hotspot_forbid_on);
+ } catch (Exception e) {
+ Log.e(TAG, "setHotspot: " + e.getMessage());
+ }
+ }
+
+ private static void setBar(Context mContext, SystemSettings settings) {
+ //系统导航条显示开关
+ int setting_navigation = changeNum(settings.getSetting_navigation());
+ boolean qch_hide_navigationBar = Settings.System.putInt(mContext.getContentResolver(), "qch_hide_NavigationBar", setting_navigation);
+ Log.e("SystemSetting", "qch_hide_navigationBar:" + qch_hide_navigationBar);
+
+ String navigationStatus = "";
+ switch (setting_navigation) {
+ case 0:
+ navigationStatus = "qch_show_NavigationBar";
+ break;
+ case 1:
+ navigationStatus = "qch_hide_NavigationBar";
+ break;
+
+ }
+ Intent navIntent = new Intent(navigationStatus).setPackage("com.android.systemui");
+ mContext.sendBroadcast(navIntent);
+
+
+ //状态栏显示开关
+ int setting_statusbar = changeNum(settings.getSetting_statusbar());
+ int oldNum = Settings.System.getInt(mContext.getContentResolver(), "qch_hide_statusBar", 0);
+ if (oldNum != setting_statusbar) {
+ boolean qch_hide_statusBar = Settings.System.putInt(mContext.getContentResolver(), "qch_hide_statusBar", setting_statusbar);
+ Log.e("SystemSetting", "qch_hide_statusBar:" + qch_hide_statusBar);
+ String statusbarStatus = "";
+ switch (setting_statusbar) {
+ case 0:
+ statusbarStatus = "qch_show_statusBar";
+ break;
+ case 1:
+ statusbarStatus = "qch_hide_statusBar";
+ break;
+ }
+ Intent statusIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
+ mContext.sendBroadcast(statusIntent);
+ }
+ }
+
+ private static void setCamera(Context mContext, SystemSettings settings) {
+ try {
+ //摄像头开关
+ int setting_camera = changeNum(settings.getSetting_camera());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_camera", setting_camera);
+// ApkUtils.hideSystemSettingAPP(mContext, "com.mediatek.camera");
+ Log.e("SystemSetting", "setting_camera:" + setting_camera);
+ String cameraStatus = "";
+ switch (setting_camera) {
+ case 0:
+ cameraStatus = "qch_camera_open";
+ break;
+ case 1:
+ cameraStatus = "qch_camera_forbid";
+ break;
+ }
+ Intent cameraIntent = new Intent(cameraStatus).setPackage("com.android.settings");
+ mContext.sendBroadcast(cameraIntent);
+ } catch (Exception e) {
+ Log.e(TAG, "setCamera: " + e.getMessage());
+ }
+ }
+
+ private static void setTF(Context mContext, SystemSettings settings) {
+ try {
+ //tfmedia开关
+ int setting_tfmedia = changeNum(settings.getSetting_tfmedia());
+ boolean qch_tfmedia_forbid = Settings.System.putInt(mContext.getContentResolver(),
+ "qch_tfmedia_forbid", setting_tfmedia);
+ Log.e("SystemSetting", "setting_tfmedia:" + qch_tfmedia_forbid);
+ String tfmediaStatus = "";
+ switch (setting_tfmedia) {
+ case 0:
+ tfmediaStatus = "qch_tfmedia_open";
+ break;
+ case 1:
+ tfmediaStatus = "qch_tfmedia_forbid";
+ break;
+ }
+ Intent tfmediaIntent = new Intent(tfmediaStatus).setPackage("com.android.settings");
+ mContext.sendBroadcast(tfmediaIntent);
+ if (setting_tfmedia == 1) {
+ JSONArray jSONArray = null;
+ jSONArray = JSON.parseArray(settings.getSetting_tfmedia_format());
+
+ int i = 0;
+ StringBuffer stringBuffer = new StringBuffer();
+ while (!jSONArray.isEmpty()) {
+ stringBuffer.append(jSONArray.getString(i));
+ stringBuffer.append(",");
+ i++;
+ }
+ stringBuffer.deleteCharAt(stringBuffer.length() - 1);
+ Settings.System.putString(mContext.getContentResolver(), "qch_tfmedia_filetypes", stringBuffer.toString());//影音管控
+ Log.e("SystemSetting", "qch_tfmedia_filetypes---------" + stringBuffer.toString());
+
+
+ } else {
+ Settings.System.putInt(mContext.getContentResolver(), "qch_tfmedia_forbid", 0);
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "setTF: " + e.getMessage());
+ }
+ }
+
+ private static void setIcon(Context mContext,SystemSettings settings) {
+ try {
+ //added:2019.12.6
+ //设置5个app的开关
+ //时钟
+ int deskclock = changeNum(settings.getSetting_clock());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_deskclock", deskclock);
+ ApkUtils.hideSystemSettingAPP(mContext, "com.android.deskclock");
+ Log.e("SystemSetting", "qch_app_deskclock:" + deskclock);
+ //录音机
+ int soundrecorder = changeNum(settings.getSetting_recording());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_soundrecorder", soundrecorder);
+ ApkUtils.hideSystemSettingAPP(mContext, "com.android.soundrecorder");
+ Log.e("SystemSetting", "qch_app_soundrecorder:" + soundrecorder);
+ //音乐
+ int music = changeNum(settings.getSetting_music());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_music", music);
+ ApkUtils.hideSystemSettingAPP(mContext, "com.android.music");
+ Log.e("SystemSetting", "qch_app_music:" + music);
+ //图库
+ int gallery = changeNum(settings.getSetting_picture());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_gallery", gallery);
+ ApkUtils.hideSystemSettingAPP(mContext, "com.android.gallery3d");
+ Log.e("SystemSetting", "qch_app_gallery:" + gallery);
+ //壁纸
+ int wallpaper = changeNum(settings.getSetting_wallpaper());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_wallpaper", wallpaper);
+ Log.e("SystemSetting", "qch_app_wallpaper:" + wallpaper);
+ //文件管理器
+ int filemanager = changeNum(settings.getSetting_file());
+ Settings.System.putInt(mContext.getContentResolver(), "qch_app_filemanager", filemanager);
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+ ApkUtils.hideSystemSettingAPP(mContext, "com.mediatek.filemanager");
+ } else {
+ ApkUtils.hideSystemSettingAPP(mContext, "com.android.documentsui");
+ }
+ Log.e("SystemSetting", "qch_app_filemanager:" + filemanager);
+ } catch (Exception e) {
+ Log.e(TAG, "setIcon: " + e.getMessage());
+ }
+ }
+ static synchronized public boolean writeDisableUpdateList(Context context, String[] notList, String[] allowList) {
+ String now = Settings.System.getString(context.getContentResolver(), "qch_app_forbid");
+ String[] nowList;
+ List allList;
+ if (now == null || now.equalsIgnoreCase("")) {
+ allList = new ArrayList<>();
+ } else {
+ nowList = now.split(",");
+ allList = new ArrayList<>(Arrays.asList(nowList));//已经写入的列表
+ }
+ boolean writeSucceed = false;
+ if (notList != null && notList.length > 0) {
+ for (String s : notList) {
+ if (ApkUtils.isAvailable(context, s)) {
+ allList.remove(s);
+ //去掉已经安装的
+ } else {
+ if (allList.indexOf(s) == -1) {
+ allList.add(s);
+ }
+ //没有安装就加入进去
+ //没有加入会导致安装后卸载不能再安装的情况
+ }
+ }
+ }
+ for (String s : notList) {
+ if (allList.indexOf(s) == -1) {
+ allList.add(s);
+ //没找到元素添加到白名单
+ }
+ }
+ if (allList.size() > 0) {
+ String list = "";
+ for (String str : allList) {
+ list += str + ",";
+ }
+ list = list.substring(0, list.length() - 1);
+ Log.e("fht", list);
+ writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_app_forbid", list);
+ Log.e("fht", "qch_app_forbid:" + list);
+ } else {
+ writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_app_forbid", "Invalid");
+ }
+
+ return writeSucceed;
+ /*功能和应用安装白名单一样,首先会写入所有的app名单。
+ *如果已经安装就从白名单删除,没有安装的不用删除
+ *不然会出现安装不上的情况
+ *在写入白名单之后和安装完成之后执行
+ */
+ }
+ public static String getIMEI(Context context) {
+ String IMEI = "unknow";
+ String IMEI1, IMEI2, IMEI3;
+ //获取手机设备号
+ TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ //8.0及以后版本获取
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ IMEI = TelephonyMgr.getDeviceId();
+ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+// try {
+// Method method = TelephonyMgr.getClass().getMethod("getImei");
+// IMEI = (String) method.invoke(TelephonyMgr);
+// } catch (Exception e) {
+// e.printStackTrace();
+// Log.e("getIMEI", e.getMessage());
+// }
+// IMEI = TelephonyMgr.getDeviceId();
+
+// } else {//9.0到10.0获取
+ IMEI = Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
+ }
+ Log.e("IMEI:", "IMEI: " + IMEI);
+ if (null == IMEI) {
+ return "-";
+ } else {
+ return IMEI.toUpperCase();
+ }
+
+ }
+
+ public static String getAndroiodScreenProperty(Context context) {
+ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ DisplayMetrics dm = new DisplayMetrics();
+ wm.getDefaultDisplay().getRealMetrics(dm);
+ int width = dm.widthPixels; // 屏幕宽度(像素)
+ int height = dm.heightPixels; // 屏幕高度(像素)
+ float density = dm.density; // 屏幕密度(0.75 / 1.0 / 1.5)
+ int densityDpi = dm.densityDpi; // 屏幕密度dpi(120 / 160 / 240)
+ // 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
+ int screenWidth = (int) (width / density); // 屏幕宽度(dp)
+ int screenHeight = (int) (height / density);// 屏幕高度(dp)
+
+// Log.e("h_bl", "屏幕宽度(像素):" + width);
+// Log.e("h_bl", "屏幕高度(像素):" + height);
+// Log.e("h_bl", "屏幕密度(0.75 / 1.0 / 1.5):" + density);
+// Log.e("h_bl", "屏幕密度dpi(120 / 160 / 240):" + densityDpi);
+// Log.e("h_bl", "屏幕宽度(dp):" + screenWidth);
+// Log.e("h_bl", "屏幕高度(dp):" + screenHeight);
+ return width + "×" + height;
+ }
+
+ public static String getMacAddress() {
+ List interfaces = null;
+ try {
+ interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
+ for (NetworkInterface networkInterface : interfaces) {
+ if (networkInterface != null && TextUtils.isEmpty(networkInterface.getName()) == false) {
+ if ("wlan0".equalsIgnoreCase(networkInterface.getName())) {
+ byte[] macBytes = networkInterface.getHardwareAddress();
+ if (macBytes != null && macBytes.length > 0) {
+ StringBuilder str = new StringBuilder();
+ for (byte b : macBytes) {
+ str.append(String.format("%02X:", b));
+ }
+ if (str.length() > 0) {
+ str.deleteCharAt(str.length() - 1);
+ }
+ return str.toString();
+ }
+ }
+ }
+ }
+ } catch (SocketException e) {
+ e.printStackTrace();
+ }
+ return "unknown";
+ }
+
+ public static int getBattery(Context context) {
+ try {
+ BatteryManager batteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
+ return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
+ } catch (Exception e) {
+ Log.e("getBattery", "getBattery" + e.getMessage());
+ }
+ return 0;
+ }
+
+ synchronized private static int getBatteryLevel(Context mContext) {
+ if (Build.VERSION.SDK_INT >= 21)
+ return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(4);
+ Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
+ return intent.getIntExtra("level", -1) * 100 / intent.getIntExtra("scale", -1);
+ }
+
+ public static int getIsCharging(Context context) {
+ IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
+ Intent batteryStatus = context.registerReceiver(null, ifilter);
+ // Are we charging / charged?
+ int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
+ boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
+ status == BatteryManager.BATTERY_STATUS_FULL;
+
+ // How are we charging?
+// int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
+// boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
+// boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
+ if (isCharging) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ /**
+ * 描述:获取可用内存.
+ *
+ * @param context
+ * @return
+ */
+ public static long getAvailMemory(Context context) {
+ // 获取android当前可用内存大小
+ ActivityManager activityManager = (ActivityManager) context
+ .getSystemService(Context.ACTIVITY_SERVICE);
+ ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
+ activityManager.getMemoryInfo(memoryInfo);
+ // 当前系统可用内存 ,将获得的内存大小规格化
+
+ return memoryInfo.availMem;
+ }
+
+ /**
+ * 描述:总内存.
+ *
+ * @param context
+ * @return
+ */
+ public static long getTotalMemory(Context context) {
+ // 系统内存信息文件
+ String file = "/proc/meminfo";
+ String memInfo;
+ String[] strs;
+ long memory = 0;
+
+ try {
+ FileReader fileReader = new FileReader(file);
+ BufferedReader bufferedReader = new BufferedReader(fileReader, 8192);
+ // 读取meminfo第一行,系统内存大小
+ memInfo = bufferedReader.readLine();
+ strs = memInfo.split("\\s+");
+// for (String str : strs) {
+// L.d(AppUtil.class, str + "\t");
+// }
+ // 获得系统总内存,单位KB
+ memory = Integer.valueOf(strs[1]).intValue();
+ bufferedReader.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ // Byte转位KB或MB
+ return memory * 1024;
+ }
+
+ public static String getRemnantSize(Context context) {
+ StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
+ long availableSize = sf.getAvailableBytes();
+ return Formatter.formatFileSize(context, availableSize);
+ }
+
+ public static String getDataTotalSize(Context context) {
+ StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
+ long blockSize = sf.getBlockSize();
+ long totalBlocks = sf.getBlockCount();
+ return Formatter.formatFileSize(context, blockSize * totalBlocks);
+ }
+
+ private static int getNumCores() {
+ // Private Class to display only CPU devices in the directory listing
+ class CpuFilter implements FileFilter {
+ @Override
+ public boolean accept(File pathname) {
+ // Check if filename is "cpu", followed by a single digit number
+ if (Pattern.matches("cpu[0-9]", pathname.getName())) {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ try {
+ // Get directory containing CPU info
+ File dir = new File("/sys/devices/system/cpu/");
+ // Filter to only list the devices we care about
+ File[] files = dir.listFiles(new CpuFilter());
+ // Return the number of cores (virtual CPU devices)
+ return files.length;
+ } catch (Exception e) {
+ // Default to return 1 core
+ return 1;
+ }
+ }
+
+
+ public static String getMachine(Context context) {
+ String device = Build.MODEL;//机型
+ String imei = getIMEI(context);
+ String system_version = Build.VERSION.RELEASE;
+ String firmware_version = getProperty("ro.build.display.id", "获取失败");
+ String rom = getProperty("ro.custom.build.version", "获取失败");
+ String screen_rate = getAndroiodScreenProperty(context);
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("device", device);
+ jsonObject.put("imei", imei);
+ jsonObject.put("system_version", system_version);
+ jsonObject.put("firmware_version", firmware_version);
+ jsonObject.put("rom", rom);
+ jsonObject.put("screen_rate", screen_rate);
+ return jsonObject.toJSONString();
+ }
+
+ public static String getHardware(Context context) {
+ int electric = getBattery(context);
+ int charging = getIsCharging(context);
+ String memory = Formatter.formatFileSize(context, getAvailMemory(context)) + "\t 已用" + "/" + "共" + Formatter.formatFileSize(context, getTotalMemory(context));
+ String storage = getRemnantSize(context) + "/" + getDataTotalSize(context);
+ int CPU = getNumCores();
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("electric", electric);
+ jsonObject.put("charging", charging);
+ jsonObject.put("memory", memory);
+ jsonObject.put("storage", storage);
+ jsonObject.put("CPU", CPU + "核");
+ return jsonObject.toJSONString();
+ }
+
+ public static void rebootDevices(Context context) {
+ Intent iReboot = new Intent(Intent.ACTION_REBOOT);
+ iReboot.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(iReboot);
+ }
+
+ synchronized public static void doMasterClear(Context context) {
+ if (BuildConfig.DEBUG) {
+ ToastUtil.show("收到重置设备推送消息");
+ return;
+ }
+ if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
+ Intent intent = new Intent("android.intent.action.FACTORY_RESET");
+ intent.setPackage("android");
+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+ intent.putExtra("android.intent.extra.REASON", "MasterClearConfirm");
+ intent.putExtra("android.intent.extra.WIPE_EXTERNAL_STORAGE", false);
+ intent.putExtra("com.android.internal.intent.extra.WIPE_ESIMS", false);
+ context.sendBroadcast(intent);
+ } else {
+ //10.0的不需要最小电量
+// if (getBatteryLevel(context) >= CommonDatas.MIN_POWER) {
+ Intent intent = new Intent("android.intent.action.MASTER_CLEAR");
+// intent.setPackage("com.android.settings");
+ context.sendBroadcast(intent);
+// } else {
+// MySQLData.SetBooleanData(context, CommonDatas.IS_RESET, true);
+// }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/info/sn/view/CustomDialog.java b/app/src/main/java/com/info/sn/view/CustomDialog.java
index 7595d95..e8a8797 100644
--- a/app/src/main/java/com/info/sn/view/CustomDialog.java
+++ b/app/src/main/java/com/info/sn/view/CustomDialog.java
@@ -3,6 +3,7 @@ package com.info.sn.view;
import android.app.Dialog;
import android.content.Context;
+import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
@@ -14,6 +15,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.info.sn.R;
+import com.info.sn.activity.MainActivity;
/**
@@ -46,8 +48,11 @@ public class CustomDialog extends Dialog {
*/
private View columnLineView;
+ private Context mContext;
+
public CustomDialog(Context context) {
super(context, R.style.CustomDialog);
+ this.mContext = context;
}
/**
@@ -221,6 +226,11 @@ public class CustomDialog extends Dialog {
return this;
}
+ public CustomDialog setNegtiveText(String negtive) {
+ negtiveBn.setText(negtive);
+ return this;
+ }
+
public int getImageResId() {
return imageResId;
}
@@ -239,5 +249,10 @@ public class CustomDialog extends Dialog {
return this;
}
-
+ @Override
+ public void dismiss() {
+ super.dismiss();
+ Intent intent = new Intent(mContext, MainActivity.class);
+ mContext.startActivity(intent);
+ }
}
diff --git a/app/src/main/java/com/info/sn/network/JWebSocketClient.java b/app/src/main/java/com/info/sn/websocket/JWebSocketClient.java
similarity index 96%
rename from app/src/main/java/com/info/sn/network/JWebSocketClient.java
rename to app/src/main/java/com/info/sn/websocket/JWebSocketClient.java
index 522d2d5..5b7e72f 100644
--- a/app/src/main/java/com/info/sn/network/JWebSocketClient.java
+++ b/app/src/main/java/com/info/sn/websocket/JWebSocketClient.java
@@ -1,4 +1,4 @@
-package com.info.sn.network;
+package com.info.sn.websocket;
import android.util.Log;
diff --git a/app/src/main/res/drawable/bind.png b/app/src/main/res/drawable-hdpi/bind.png
similarity index 100%
rename from app/src/main/res/drawable/bind.png
rename to app/src/main/res/drawable-hdpi/bind.png
diff --git a/app/src/main/res/drawable/bt_return.png b/app/src/main/res/drawable-hdpi/bt_return.png
similarity index 100%
rename from app/src/main/res/drawable/bt_return.png
rename to app/src/main/res/drawable-hdpi/bt_return.png
diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable-hdpi/logo.png
similarity index 100%
rename from app/src/main/res/drawable/logo.png
rename to app/src/main/res/drawable-hdpi/logo.png
diff --git a/app/src/main/res/drawable/mask.png b/app/src/main/res/drawable-hdpi/mask.png
similarity index 100%
rename from app/src/main/res/drawable/mask.png
rename to app/src/main/res/drawable-hdpi/mask.png
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 0d025f9..0000000
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
index 73dbb3f..f32d045 100644
--- a/app/src/main/res/layout-land/activity_main.xml
+++ b/app/src/main/res/layout-land/activity_main.xml
@@ -5,13 +5,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
- tools:context=".MainActivity">
+ tools:context=".activity.MainActivity">
@@ -19,9 +19,9 @@
@@ -62,8 +62,8 @@
+ android:layout_height="30dp">
@@ -142,7 +142,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text="设备SN"
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -150,8 +150,8 @@
-
-
+
+
@@ -159,8 +159,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -179,7 +179,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -187,8 +187,8 @@
-
-
+
+
@@ -197,8 +197,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -217,7 +217,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -225,8 +225,8 @@
-
-
+
+
@@ -235,8 +235,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -255,7 +255,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -263,8 +263,8 @@
-
-
+
+
@@ -273,9 +273,9 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="10dp">
@@ -294,7 +294,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -302,8 +302,8 @@
-
-
+
+
@@ -315,6 +315,7 @@
android:layout_marginTop="16dp"
android:text="连续点击版本号,自动下载新版本"
android:textColor="#E14B88"
+ android:textSize="11sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.503"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-land/custom_dialog.xml b/app/src/main/res/layout-land/custom_dialog.xml
index eee5b3a..9cb91e5 100644
--- a/app/src/main/res/layout-land/custom_dialog.xml
+++ b/app/src/main/res/layout-land/custom_dialog.xml
@@ -2,14 +2,14 @@
@@ -36,7 +36,7 @@
android:layout_gravity="center"
android:gravity="center_vertical"
android:textColor="#333333"
- android:textSize="20sp"
+ android:textSize="15sp"
android:visibility="visible"
tools:text="消息提示" />
@@ -48,11 +48,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|left"
+ android:layout_marginTop="8dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:lineSpacingExtra="3dp"
android:lineSpacingMultiplier="1.2"
- android:textSize="16dp"
+ android:textSize="12sp"
android:textColor="#999999"
tools:text="提示消息提示消息提示消息提示消息提示消息提示消息提示消息提示消息" />
@@ -72,15 +73,15 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
- android:paddingTop="16dp"
- android:paddingBottom="16dp"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:singleLine="true"
tools:text="No"
android:textColor="#999999"
- android:textSize="16sp" />
+ android:textSize="13sp" />
+ android:textSize="13sp" />
diff --git a/app/src/main/res/layout-port/activity_main.xml b/app/src/main/res/layout-port/activity_main.xml
index 92efe09..163e189 100644
--- a/app/src/main/res/layout-port/activity_main.xml
+++ b/app/src/main/res/layout-port/activity_main.xml
@@ -5,13 +5,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
- tools:context=".MainActivity">
+ tools:context=".activity.MainActivity">
@@ -19,9 +19,9 @@
+ android:layout_height="30dp">
@@ -117,7 +117,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text="设备SN"
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -125,8 +125,8 @@
-
-
+
+
@@ -134,8 +134,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -154,7 +154,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -162,8 +162,8 @@
-
-
+
+
@@ -172,8 +172,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -192,7 +192,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -200,8 +200,8 @@
-
-
+
+
@@ -210,8 +210,8 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp">
@@ -230,7 +230,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -238,8 +238,8 @@
-
-
+
+
@@ -248,9 +248,9 @@
+ android:layout_height="30dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="10dp">
@@ -269,7 +269,7 @@
android:layout_height="wrap_content"
android:gravity="right"
android:text=" "
- android:textSize="@dimen/sp_11"
+ android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -277,8 +277,8 @@
-
-
+
+
@@ -287,9 +287,10 @@
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_5"
+ android:layout_marginTop="5dp"
android:text="连续点击版本号,自动下载新版本"
android:textColor="#E14B88"
+ android:textSize="11sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
diff --git a/app/src/main/res/layout-port/custom_dialog.xml b/app/src/main/res/layout-port/custom_dialog.xml
index eee5b3a..9cb91e5 100644
--- a/app/src/main/res/layout-port/custom_dialog.xml
+++ b/app/src/main/res/layout-port/custom_dialog.xml
@@ -2,14 +2,14 @@
@@ -36,7 +36,7 @@
android:layout_gravity="center"
android:gravity="center_vertical"
android:textColor="#333333"
- android:textSize="20sp"
+ android:textSize="15sp"
android:visibility="visible"
tools:text="消息提示" />
@@ -48,11 +48,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|left"
+ android:layout_marginTop="8dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:lineSpacingExtra="3dp"
android:lineSpacingMultiplier="1.2"
- android:textSize="16dp"
+ android:textSize="12sp"
android:textColor="#999999"
tools:text="提示消息提示消息提示消息提示消息提示消息提示消息提示消息提示消息" />
@@ -72,15 +73,15 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
- android:paddingTop="16dp"
- android:paddingBottom="16dp"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:singleLine="true"
tools:text="No"
android:textColor="#999999"
- android:textSize="16sp" />
+ android:textSize="13sp" />
+ android:textSize="13sp" />
diff --git a/app/src/main/res/values-sw1024dp/dimens.xml b/app/src/main/res/values-sw1024dp/dimens.xml
deleted file mode 100644
index b629e60..0000000
--- a/app/src/main/res/values-sw1024dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -170.6667dp
- -85.3333dp
- -56.8889dp
- -34.1333dp
- -28.4444dp
- -22.7556dp
- -14.2222dp
- -5.6889dp
- -2.8444dp
- 0.0000dp
- 0.2844dp
- 1.4222dp
- 2.8444dp
- 4.2667dp
- 5.6889dp
- 7.1111dp
- 8.5333dp
- 9.9556dp
- 11.3778dp
- 12.8000dp
- 14.2222dp
- 17.0667dp
- 19.9111dp
- 22.7556dp
- 25.6000dp
- 28.4444dp
- 31.2889dp
- 34.1333dp
- 36.9778dp
- 39.8222dp
- 42.6667dp
- 45.5111dp
- 48.3556dp
- 51.2000dp
- 54.0444dp
- 56.8889dp
- 59.7333dp
- 62.5778dp
- 65.4222dp
- 68.2667dp
- 71.1111dp
- 73.9556dp
- 76.8000dp
- 79.6444dp
- 82.4889dp
- 85.3333dp
- 88.1778dp
- 91.0222dp
- 93.8667dp
- 96.7111dp
- 99.5556dp
- 102.4000dp
- 105.2444dp
- 108.0889dp
- 110.9333dp
- 113.7778dp
- 116.6222dp
- 119.4667dp
- 122.3111dp
- 125.1556dp
- 128.0000dp
- 130.8444dp
- 133.6889dp
- 136.5333dp
- 139.3778dp
- 142.2222dp
- 145.0667dp
- 147.9111dp
- 150.7556dp
- 153.6000dp
- 156.4444dp
- 159.2889dp
- 162.1333dp
- 164.9778dp
- 167.8222dp
- 170.6667dp
- 173.5111dp
- 176.3556dp
- 179.2000dp
- 182.0444dp
- 184.8889dp
- 187.7333dp
- 190.5778dp
- 193.4222dp
- 196.2667dp
- 199.1111dp
- 201.9556dp
- 204.8000dp
- 207.6444dp
- 210.4889dp
- 213.3333dp
- 216.1778dp
- 219.0222dp
- 221.8667dp
- 224.7111dp
- 227.5556dp
- 230.4000dp
- 233.2444dp
- 236.0889dp
- 238.9333dp
- 241.7778dp
- 244.6222dp
- 247.4667dp
- 250.3111dp
- 253.1556dp
- 256.0000dp
- 258.8444dp
- 261.6889dp
- 264.5333dp
- 267.3778dp
- 270.2222dp
- 273.0667dp
- 275.9111dp
- 278.7556dp
- 281.6000dp
- 284.4444dp
- 287.2889dp
- 290.1333dp
- 292.9778dp
- 295.8222dp
- 298.6667dp
- 301.5111dp
- 304.3556dp
- 307.2000dp
- 310.0444dp
- 312.8889dp
- 315.7333dp
- 318.5778dp
- 321.4222dp
- 324.2667dp
- 327.1111dp
- 329.9556dp
- 332.8000dp
- 335.6444dp
- 338.4889dp
- 341.3333dp
- 344.1778dp
- 347.0222dp
- 349.8667dp
- 352.7111dp
- 355.5556dp
- 358.4000dp
- 361.2444dp
- 364.0889dp
- 366.9333dp
- 369.7778dp
- 372.6222dp
- 375.4667dp
- 378.3111dp
- 381.1556dp
- 384.0000dp
- 386.8444dp
- 389.6889dp
- 392.5333dp
- 395.3778dp
- 398.2222dp
- 401.0667dp
- 403.9111dp
- 406.7556dp
- 409.6000dp
- 412.4444dp
- 415.2889dp
- 418.1333dp
- 420.9778dp
- 423.8222dp
- 426.6667dp
- 429.5111dp
- 432.3556dp
- 435.2000dp
- 438.0444dp
- 440.8889dp
- 443.7333dp
- 446.5778dp
- 449.4222dp
- 452.2667dp
- 455.1111dp
- 457.9556dp
- 460.8000dp
- 463.6444dp
- 466.4889dp
- 469.3333dp
- 472.1778dp
- 475.0222dp
- 477.8667dp
- 480.7111dp
- 483.5556dp
- 486.4000dp
- 489.2444dp
- 492.0889dp
- 494.9333dp
- 497.7778dp
- 500.6222dp
- 503.4667dp
- 506.3111dp
- 509.1556dp
- 512.0000dp
- 514.8444dp
- 517.6889dp
- 520.5333dp
- 523.3778dp
- 526.2222dp
- 529.0667dp
- 531.9111dp
- 534.7556dp
- 537.6000dp
- 540.4444dp
- 543.2889dp
- 546.1333dp
- 548.9778dp
- 551.8222dp
- 554.6667dp
- 557.5111dp
- 560.3556dp
- 563.2000dp
- 566.0444dp
- 568.8889dp
- 571.7333dp
- 574.5778dp
- 577.4222dp
- 580.2667dp
- 583.1111dp
- 585.9556dp
- 588.8000dp
- 591.6444dp
- 594.4889dp
- 597.3333dp
- 600.1778dp
- 603.0222dp
- 605.8667dp
- 608.7111dp
- 611.5556dp
- 614.4000dp
- 617.2444dp
- 620.0889dp
- 622.9333dp
- 625.7778dp
- 628.6222dp
- 631.4667dp
- 634.3111dp
- 637.1556dp
- 640.0000dp
- 642.8444dp
- 645.6889dp
- 648.5333dp
- 651.3778dp
- 654.2222dp
- 657.0667dp
- 659.9111dp
- 662.7556dp
- 665.6000dp
- 668.4444dp
- 671.2889dp
- 674.1333dp
- 676.9778dp
- 679.8222dp
- 682.6667dp
- 685.5111dp
- 688.3556dp
- 691.2000dp
- 694.0444dp
- 696.8889dp
- 699.7333dp
- 702.5778dp
- 705.4222dp
- 708.2667dp
- 711.1111dp
- 713.9556dp
- 716.8000dp
- 719.6444dp
- 722.4889dp
- 725.3333dp
- 728.1778dp
- 731.0222dp
- 733.8667dp
- 736.7111dp
- 739.5556dp
- 742.4000dp
- 745.2444dp
- 748.0889dp
- 750.9333dp
- 753.7778dp
- 756.6222dp
- 759.4667dp
- 762.3111dp
- 765.1556dp
- 768.0000dp
- 770.8444dp
- 773.6889dp
- 776.5333dp
- 779.3778dp
- 782.2222dp
- 785.0667dp
- 787.9111dp
- 790.7556dp
- 793.6000dp
- 796.4444dp
- 799.2889dp
- 802.1333dp
- 804.9778dp
- 807.8222dp
- 810.6667dp
- 813.5111dp
- 816.3556dp
- 819.2000dp
- 822.0444dp
- 824.8889dp
- 827.7333dp
- 830.5778dp
- 833.4222dp
- 836.2667dp
- 839.1111dp
- 841.9556dp
- 844.8000dp
- 847.6444dp
- 850.4889dp
- 853.3333dp
- 856.1778dp
- 859.0222dp
- 861.8667dp
- 864.7111dp
- 867.5556dp
- 870.4000dp
- 873.2444dp
- 876.0889dp
- 878.9333dp
- 881.7778dp
- 884.6222dp
- 887.4667dp
- 890.3111dp
- 893.1556dp
- 896.0000dp
- 898.8444dp
- 901.6889dp
- 904.5333dp
- 907.3778dp
- 910.2222dp
- 913.0667dp
- 915.9111dp
- 918.7556dp
- 921.6000dp
- 924.4444dp
- 927.2889dp
- 930.1333dp
- 932.9778dp
- 935.8222dp
- 938.6667dp
- 941.5111dp
- 944.3556dp
- 947.2000dp
- 950.0444dp
- 952.8889dp
- 955.7333dp
- 958.5778dp
- 961.4222dp
- 964.2667dp
- 967.1111dp
- 969.9556dp
- 972.8000dp
- 975.6444dp
- 978.4889dp
- 981.3333dp
- 984.1778dp
- 987.0222dp
- 989.8667dp
- 992.7111dp
- 995.5556dp
- 998.4000dp
- 1001.2444dp
- 1004.0889dp
- 1006.9333dp
- 1009.7778dp
- 1012.6222dp
- 1015.4667dp
- 1018.3111dp
- 1021.1556dp
- 1024.0000dp
- 1038.2222dp
- 1052.4444dp
- 1137.7778dp
- 1166.2222dp
- 1200.3556dp
- 1342.5778dp
- 1422.2222dp
- 1706.6667dp
- 1820.4444dp
- 2048.0000dp
- 17.0667sp
- 19.9111sp
- 22.7556sp
- 25.6000sp
- 28.4444sp
- 31.2889sp
- 34.1333sp
- 36.9778sp
- 39.8222sp
- 42.6667sp
- 45.5111sp
- 48.3556sp
- 51.2000sp
- 54.0444sp
- 56.8889sp
- 59.7333sp
- 62.5778sp
- 65.4222sp
- 68.2667sp
- 71.1111sp
- 79.6444sp
- 85.3333sp
- 91.0222sp
- 96.7111sp
- 102.4000sp
- 108.0889sp
- 113.7778sp
- 119.4667sp
- 136.5333sp
-
diff --git a/app/src/main/res/values-sw1280dp/dimens.xml b/app/src/main/res/values-sw1280dp/dimens.xml
deleted file mode 100644
index d690618..0000000
--- a/app/src/main/res/values-sw1280dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -213.3333dp
- -106.6667dp
- -71.1111dp
- -42.6667dp
- -35.5556dp
- -28.4444dp
- -17.7778dp
- -7.1111dp
- -3.5556dp
- 0.0000dp
- 0.3556dp
- 1.7778dp
- 3.5556dp
- 5.3333dp
- 7.1111dp
- 8.8889dp
- 10.6667dp
- 12.4444dp
- 14.2222dp
- 16.0000dp
- 17.7778dp
- 21.3333dp
- 24.8889dp
- 28.4444dp
- 32.0000dp
- 35.5556dp
- 39.1111dp
- 42.6667dp
- 46.2222dp
- 49.7778dp
- 53.3333dp
- 56.8889dp
- 60.4444dp
- 64.0000dp
- 67.5556dp
- 71.1111dp
- 74.6667dp
- 78.2222dp
- 81.7778dp
- 85.3333dp
- 88.8889dp
- 92.4444dp
- 96.0000dp
- 99.5556dp
- 103.1111dp
- 106.6667dp
- 110.2222dp
- 113.7778dp
- 117.3333dp
- 120.8889dp
- 124.4444dp
- 128.0000dp
- 131.5556dp
- 135.1111dp
- 138.6667dp
- 142.2222dp
- 145.7778dp
- 149.3333dp
- 152.8889dp
- 156.4444dp
- 160.0000dp
- 163.5556dp
- 167.1111dp
- 170.6667dp
- 174.2222dp
- 177.7778dp
- 181.3333dp
- 184.8889dp
- 188.4444dp
- 192.0000dp
- 195.5556dp
- 199.1111dp
- 202.6667dp
- 206.2222dp
- 209.7778dp
- 213.3333dp
- 216.8889dp
- 220.4444dp
- 224.0000dp
- 227.5556dp
- 231.1111dp
- 234.6667dp
- 238.2222dp
- 241.7778dp
- 245.3333dp
- 248.8889dp
- 252.4444dp
- 256.0000dp
- 259.5556dp
- 263.1111dp
- 266.6667dp
- 270.2222dp
- 273.7778dp
- 277.3333dp
- 280.8889dp
- 284.4444dp
- 288.0000dp
- 291.5556dp
- 295.1111dp
- 298.6667dp
- 302.2222dp
- 305.7778dp
- 309.3333dp
- 312.8889dp
- 316.4444dp
- 320.0000dp
- 323.5556dp
- 327.1111dp
- 330.6667dp
- 334.2222dp
- 337.7778dp
- 341.3333dp
- 344.8889dp
- 348.4444dp
- 352.0000dp
- 355.5556dp
- 359.1111dp
- 362.6667dp
- 366.2222dp
- 369.7778dp
- 373.3333dp
- 376.8889dp
- 380.4444dp
- 384.0000dp
- 387.5556dp
- 391.1111dp
- 394.6667dp
- 398.2222dp
- 401.7778dp
- 405.3333dp
- 408.8889dp
- 412.4444dp
- 416.0000dp
- 419.5556dp
- 423.1111dp
- 426.6667dp
- 430.2222dp
- 433.7778dp
- 437.3333dp
- 440.8889dp
- 444.4444dp
- 448.0000dp
- 451.5556dp
- 455.1111dp
- 458.6667dp
- 462.2222dp
- 465.7778dp
- 469.3333dp
- 472.8889dp
- 476.4444dp
- 480.0000dp
- 483.5556dp
- 487.1111dp
- 490.6667dp
- 494.2222dp
- 497.7778dp
- 501.3333dp
- 504.8889dp
- 508.4444dp
- 512.0000dp
- 515.5556dp
- 519.1111dp
- 522.6667dp
- 526.2222dp
- 529.7778dp
- 533.3333dp
- 536.8889dp
- 540.4444dp
- 544.0000dp
- 547.5556dp
- 551.1111dp
- 554.6667dp
- 558.2222dp
- 561.7778dp
- 565.3333dp
- 568.8889dp
- 572.4444dp
- 576.0000dp
- 579.5556dp
- 583.1111dp
- 586.6667dp
- 590.2222dp
- 593.7778dp
- 597.3333dp
- 600.8889dp
- 604.4444dp
- 608.0000dp
- 611.5556dp
- 615.1111dp
- 618.6667dp
- 622.2222dp
- 625.7778dp
- 629.3333dp
- 632.8889dp
- 636.4444dp
- 640.0000dp
- 643.5556dp
- 647.1111dp
- 650.6667dp
- 654.2222dp
- 657.7778dp
- 661.3333dp
- 664.8889dp
- 668.4444dp
- 672.0000dp
- 675.5556dp
- 679.1111dp
- 682.6667dp
- 686.2222dp
- 689.7778dp
- 693.3333dp
- 696.8889dp
- 700.4444dp
- 704.0000dp
- 707.5556dp
- 711.1111dp
- 714.6667dp
- 718.2222dp
- 721.7778dp
- 725.3333dp
- 728.8889dp
- 732.4444dp
- 736.0000dp
- 739.5556dp
- 743.1111dp
- 746.6667dp
- 750.2222dp
- 753.7778dp
- 757.3333dp
- 760.8889dp
- 764.4444dp
- 768.0000dp
- 771.5556dp
- 775.1111dp
- 778.6667dp
- 782.2222dp
- 785.7778dp
- 789.3333dp
- 792.8889dp
- 796.4444dp
- 800.0000dp
- 803.5556dp
- 807.1111dp
- 810.6667dp
- 814.2222dp
- 817.7778dp
- 821.3333dp
- 824.8889dp
- 828.4444dp
- 832.0000dp
- 835.5556dp
- 839.1111dp
- 842.6667dp
- 846.2222dp
- 849.7778dp
- 853.3333dp
- 856.8889dp
- 860.4444dp
- 864.0000dp
- 867.5556dp
- 871.1111dp
- 874.6667dp
- 878.2222dp
- 881.7778dp
- 885.3333dp
- 888.8889dp
- 892.4444dp
- 896.0000dp
- 899.5556dp
- 903.1111dp
- 906.6667dp
- 910.2222dp
- 913.7778dp
- 917.3333dp
- 920.8889dp
- 924.4444dp
- 928.0000dp
- 931.5556dp
- 935.1111dp
- 938.6667dp
- 942.2222dp
- 945.7778dp
- 949.3333dp
- 952.8889dp
- 956.4444dp
- 960.0000dp
- 963.5556dp
- 967.1111dp
- 970.6667dp
- 974.2222dp
- 977.7778dp
- 981.3333dp
- 984.8889dp
- 988.4444dp
- 992.0000dp
- 995.5556dp
- 999.1111dp
- 1002.6667dp
- 1006.2222dp
- 1009.7778dp
- 1013.3333dp
- 1016.8889dp
- 1020.4444dp
- 1024.0000dp
- 1027.5556dp
- 1031.1111dp
- 1034.6667dp
- 1038.2222dp
- 1041.7778dp
- 1045.3333dp
- 1048.8889dp
- 1052.4444dp
- 1056.0000dp
- 1059.5556dp
- 1063.1111dp
- 1066.6667dp
- 1070.2222dp
- 1073.7778dp
- 1077.3333dp
- 1080.8889dp
- 1084.4444dp
- 1088.0000dp
- 1091.5556dp
- 1095.1111dp
- 1098.6667dp
- 1102.2222dp
- 1105.7778dp
- 1109.3333dp
- 1112.8889dp
- 1116.4444dp
- 1120.0000dp
- 1123.5556dp
- 1127.1111dp
- 1130.6667dp
- 1134.2222dp
- 1137.7778dp
- 1141.3333dp
- 1144.8889dp
- 1148.4444dp
- 1152.0000dp
- 1155.5556dp
- 1159.1111dp
- 1162.6667dp
- 1166.2222dp
- 1169.7778dp
- 1173.3333dp
- 1176.8889dp
- 1180.4444dp
- 1184.0000dp
- 1187.5556dp
- 1191.1111dp
- 1194.6667dp
- 1198.2222dp
- 1201.7778dp
- 1205.3333dp
- 1208.8889dp
- 1212.4444dp
- 1216.0000dp
- 1219.5556dp
- 1223.1111dp
- 1226.6667dp
- 1230.2222dp
- 1233.7778dp
- 1237.3333dp
- 1240.8889dp
- 1244.4444dp
- 1248.0000dp
- 1251.5556dp
- 1255.1111dp
- 1258.6667dp
- 1262.2222dp
- 1265.7778dp
- 1269.3333dp
- 1272.8889dp
- 1276.4444dp
- 1280.0000dp
- 1297.7778dp
- 1315.5556dp
- 1422.2222dp
- 1457.7778dp
- 1500.4444dp
- 1678.2222dp
- 1777.7778dp
- 2133.3333dp
- 2275.5556dp
- 2560.0000dp
- 21.3333sp
- 24.8889sp
- 28.4444sp
- 32.0000sp
- 35.5556sp
- 39.1111sp
- 42.6667sp
- 46.2222sp
- 49.7778sp
- 53.3333sp
- 56.8889sp
- 60.4444sp
- 64.0000sp
- 67.5556sp
- 71.1111sp
- 74.6667sp
- 78.2222sp
- 81.7778sp
- 85.3333sp
- 88.8889sp
- 99.5556sp
- 106.6667sp
- 113.7778sp
- 120.8889sp
- 128.0000sp
- 135.1111sp
- 142.2222sp
- 149.3333sp
- 170.6667sp
-
diff --git a/app/src/main/res/values-sw1365dp/dimens.xml b/app/src/main/res/values-sw1365dp/dimens.xml
deleted file mode 100644
index 5a0e4e0..0000000
--- a/app/src/main/res/values-sw1365dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -227.5000dp
- -113.7500dp
- -75.8333dp
- -45.5000dp
- -37.9167dp
- -30.3333dp
- -18.9583dp
- -7.5833dp
- -3.7917dp
- 0.0000dp
- 0.3792dp
- 1.8958dp
- 3.7917dp
- 5.6875dp
- 7.5833dp
- 9.4792dp
- 11.3750dp
- 13.2708dp
- 15.1667dp
- 17.0625dp
- 18.9583dp
- 22.7500dp
- 26.5417dp
- 30.3333dp
- 34.1250dp
- 37.9167dp
- 41.7083dp
- 45.5000dp
- 49.2917dp
- 53.0833dp
- 56.8750dp
- 60.6667dp
- 64.4583dp
- 68.2500dp
- 72.0417dp
- 75.8333dp
- 79.6250dp
- 83.4167dp
- 87.2083dp
- 91.0000dp
- 94.7917dp
- 98.5833dp
- 102.3750dp
- 106.1667dp
- 109.9583dp
- 113.7500dp
- 117.5417dp
- 121.3333dp
- 125.1250dp
- 128.9167dp
- 132.7083dp
- 136.5000dp
- 140.2917dp
- 144.0833dp
- 147.8750dp
- 151.6667dp
- 155.4583dp
- 159.2500dp
- 163.0417dp
- 166.8333dp
- 170.6250dp
- 174.4167dp
- 178.2083dp
- 182.0000dp
- 185.7917dp
- 189.5833dp
- 193.3750dp
- 197.1667dp
- 200.9583dp
- 204.7500dp
- 208.5417dp
- 212.3333dp
- 216.1250dp
- 219.9167dp
- 223.7083dp
- 227.5000dp
- 231.2917dp
- 235.0833dp
- 238.8750dp
- 242.6667dp
- 246.4583dp
- 250.2500dp
- 254.0417dp
- 257.8333dp
- 261.6250dp
- 265.4167dp
- 269.2083dp
- 273.0000dp
- 276.7917dp
- 280.5833dp
- 284.3750dp
- 288.1667dp
- 291.9583dp
- 295.7500dp
- 299.5417dp
- 303.3333dp
- 307.1250dp
- 310.9167dp
- 314.7083dp
- 318.5000dp
- 322.2917dp
- 326.0833dp
- 329.8750dp
- 333.6667dp
- 337.4583dp
- 341.2500dp
- 345.0417dp
- 348.8333dp
- 352.6250dp
- 356.4167dp
- 360.2083dp
- 364.0000dp
- 367.7917dp
- 371.5833dp
- 375.3750dp
- 379.1667dp
- 382.9583dp
- 386.7500dp
- 390.5417dp
- 394.3333dp
- 398.1250dp
- 401.9167dp
- 405.7083dp
- 409.5000dp
- 413.2917dp
- 417.0833dp
- 420.8750dp
- 424.6667dp
- 428.4583dp
- 432.2500dp
- 436.0417dp
- 439.8333dp
- 443.6250dp
- 447.4167dp
- 451.2083dp
- 455.0000dp
- 458.7917dp
- 462.5833dp
- 466.3750dp
- 470.1667dp
- 473.9583dp
- 477.7500dp
- 481.5417dp
- 485.3333dp
- 489.1250dp
- 492.9167dp
- 496.7083dp
- 500.5000dp
- 504.2917dp
- 508.0833dp
- 511.8750dp
- 515.6667dp
- 519.4583dp
- 523.2500dp
- 527.0417dp
- 530.8333dp
- 534.6250dp
- 538.4167dp
- 542.2083dp
- 546.0000dp
- 549.7917dp
- 553.5833dp
- 557.3750dp
- 561.1667dp
- 564.9583dp
- 568.7500dp
- 572.5417dp
- 576.3333dp
- 580.1250dp
- 583.9167dp
- 587.7083dp
- 591.5000dp
- 595.2917dp
- 599.0833dp
- 602.8750dp
- 606.6667dp
- 610.4583dp
- 614.2500dp
- 618.0417dp
- 621.8333dp
- 625.6250dp
- 629.4167dp
- 633.2083dp
- 637.0000dp
- 640.7917dp
- 644.5833dp
- 648.3750dp
- 652.1667dp
- 655.9583dp
- 659.7500dp
- 663.5417dp
- 667.3333dp
- 671.1250dp
- 674.9167dp
- 678.7083dp
- 682.5000dp
- 686.2917dp
- 690.0833dp
- 693.8750dp
- 697.6667dp
- 701.4583dp
- 705.2500dp
- 709.0417dp
- 712.8333dp
- 716.6250dp
- 720.4167dp
- 724.2083dp
- 728.0000dp
- 731.7917dp
- 735.5833dp
- 739.3750dp
- 743.1667dp
- 746.9583dp
- 750.7500dp
- 754.5417dp
- 758.3333dp
- 762.1250dp
- 765.9167dp
- 769.7083dp
- 773.5000dp
- 777.2917dp
- 781.0833dp
- 784.8750dp
- 788.6667dp
- 792.4583dp
- 796.2500dp
- 800.0417dp
- 803.8333dp
- 807.6250dp
- 811.4167dp
- 815.2083dp
- 819.0000dp
- 822.7917dp
- 826.5833dp
- 830.3750dp
- 834.1667dp
- 837.9583dp
- 841.7500dp
- 845.5417dp
- 849.3333dp
- 853.1250dp
- 856.9167dp
- 860.7083dp
- 864.5000dp
- 868.2917dp
- 872.0833dp
- 875.8750dp
- 879.6667dp
- 883.4583dp
- 887.2500dp
- 891.0417dp
- 894.8333dp
- 898.6250dp
- 902.4167dp
- 906.2083dp
- 910.0000dp
- 913.7917dp
- 917.5833dp
- 921.3750dp
- 925.1667dp
- 928.9583dp
- 932.7500dp
- 936.5417dp
- 940.3333dp
- 944.1250dp
- 947.9167dp
- 951.7083dp
- 955.5000dp
- 959.2917dp
- 963.0833dp
- 966.8750dp
- 970.6667dp
- 974.4583dp
- 978.2500dp
- 982.0417dp
- 985.8333dp
- 989.6250dp
- 993.4167dp
- 997.2083dp
- 1001.0000dp
- 1004.7917dp
- 1008.5833dp
- 1012.3750dp
- 1016.1667dp
- 1019.9583dp
- 1023.7500dp
- 1027.5417dp
- 1031.3333dp
- 1035.1250dp
- 1038.9167dp
- 1042.7083dp
- 1046.5000dp
- 1050.2917dp
- 1054.0833dp
- 1057.8750dp
- 1061.6667dp
- 1065.4583dp
- 1069.2500dp
- 1073.0417dp
- 1076.8333dp
- 1080.6250dp
- 1084.4167dp
- 1088.2083dp
- 1092.0000dp
- 1095.7917dp
- 1099.5833dp
- 1103.3750dp
- 1107.1667dp
- 1110.9583dp
- 1114.7500dp
- 1118.5417dp
- 1122.3333dp
- 1126.1250dp
- 1129.9167dp
- 1133.7083dp
- 1137.5000dp
- 1141.2917dp
- 1145.0833dp
- 1148.8750dp
- 1152.6667dp
- 1156.4583dp
- 1160.2500dp
- 1164.0417dp
- 1167.8333dp
- 1171.6250dp
- 1175.4167dp
- 1179.2083dp
- 1183.0000dp
- 1186.7917dp
- 1190.5833dp
- 1194.3750dp
- 1198.1667dp
- 1201.9583dp
- 1205.7500dp
- 1209.5417dp
- 1213.3333dp
- 1217.1250dp
- 1220.9167dp
- 1224.7083dp
- 1228.5000dp
- 1232.2917dp
- 1236.0833dp
- 1239.8750dp
- 1243.6667dp
- 1247.4583dp
- 1251.2500dp
- 1255.0417dp
- 1258.8333dp
- 1262.6250dp
- 1266.4167dp
- 1270.2083dp
- 1274.0000dp
- 1277.7917dp
- 1281.5833dp
- 1285.3750dp
- 1289.1667dp
- 1292.9583dp
- 1296.7500dp
- 1300.5417dp
- 1304.3333dp
- 1308.1250dp
- 1311.9167dp
- 1315.7083dp
- 1319.5000dp
- 1323.2917dp
- 1327.0833dp
- 1330.8750dp
- 1334.6667dp
- 1338.4583dp
- 1342.2500dp
- 1346.0417dp
- 1349.8333dp
- 1353.6250dp
- 1357.4167dp
- 1361.2083dp
- 1365.0000dp
- 1383.9583dp
- 1402.9167dp
- 1516.6667dp
- 1554.5833dp
- 1600.0833dp
- 1789.6667dp
- 1895.8333dp
- 2275.0000dp
- 2426.6667dp
- 2730.0000dp
- 22.7500sp
- 26.5417sp
- 30.3333sp
- 34.1250sp
- 37.9167sp
- 41.7083sp
- 45.5000sp
- 49.2917sp
- 53.0833sp
- 56.8750sp
- 60.6667sp
- 64.4583sp
- 68.2500sp
- 72.0417sp
- 75.8333sp
- 79.6250sp
- 83.4167sp
- 87.2083sp
- 91.0000sp
- 94.7917sp
- 106.1667sp
- 113.7500sp
- 121.3333sp
- 128.9167sp
- 136.5000sp
- 144.0833sp
- 151.6667sp
- 159.2500sp
- 182.0000sp
-
diff --git a/app/src/main/res/values-sw320dp/dimens.xml b/app/src/main/res/values-sw320dp/dimens.xml
deleted file mode 100644
index 554264f..0000000
--- a/app/src/main/res/values-sw320dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -53.3333dp
- -26.6667dp
- -17.7778dp
- -10.6667dp
- -8.8889dp
- -7.1111dp
- -4.4444dp
- -1.7778dp
- -0.8889dp
- 0.0000dp
- 0.0889dp
- 0.4444dp
- 0.8889dp
- 1.3333dp
- 1.7778dp
- 2.2222dp
- 2.6667dp
- 3.1111dp
- 3.5556dp
- 4.0000dp
- 4.4444dp
- 5.3333dp
- 6.2222dp
- 7.1111dp
- 8.0000dp
- 8.8889dp
- 9.7778dp
- 10.6667dp
- 11.5556dp
- 12.4444dp
- 13.3333dp
- 14.2222dp
- 15.1111dp
- 16.0000dp
- 16.8889dp
- 17.7778dp
- 18.6667dp
- 19.5556dp
- 20.4444dp
- 21.3333dp
- 22.2222dp
- 23.1111dp
- 24.0000dp
- 24.8889dp
- 25.7778dp
- 26.6667dp
- 27.5556dp
- 28.4444dp
- 29.3333dp
- 30.2222dp
- 31.1111dp
- 32.0000dp
- 32.8889dp
- 33.7778dp
- 34.6667dp
- 35.5556dp
- 36.4444dp
- 37.3333dp
- 38.2222dp
- 39.1111dp
- 40.0000dp
- 40.8889dp
- 41.7778dp
- 42.6667dp
- 43.5556dp
- 44.4444dp
- 45.3333dp
- 46.2222dp
- 47.1111dp
- 48.0000dp
- 48.8889dp
- 49.7778dp
- 50.6667dp
- 51.5556dp
- 52.4444dp
- 53.3333dp
- 54.2222dp
- 55.1111dp
- 56.0000dp
- 56.8889dp
- 57.7778dp
- 58.6667dp
- 59.5556dp
- 60.4444dp
- 61.3333dp
- 62.2222dp
- 63.1111dp
- 64.0000dp
- 64.8889dp
- 65.7778dp
- 66.6667dp
- 67.5556dp
- 68.4444dp
- 69.3333dp
- 70.2222dp
- 71.1111dp
- 72.0000dp
- 72.8889dp
- 73.7778dp
- 74.6667dp
- 75.5556dp
- 76.4444dp
- 77.3333dp
- 78.2222dp
- 79.1111dp
- 80.0000dp
- 80.8889dp
- 81.7778dp
- 82.6667dp
- 83.5556dp
- 84.4444dp
- 85.3333dp
- 86.2222dp
- 87.1111dp
- 88.0000dp
- 88.8889dp
- 89.7778dp
- 90.6667dp
- 91.5556dp
- 92.4444dp
- 93.3333dp
- 94.2222dp
- 95.1111dp
- 96.0000dp
- 96.8889dp
- 97.7778dp
- 98.6667dp
- 99.5556dp
- 100.4444dp
- 101.3333dp
- 102.2222dp
- 103.1111dp
- 104.0000dp
- 104.8889dp
- 105.7778dp
- 106.6667dp
- 107.5556dp
- 108.4444dp
- 109.3333dp
- 110.2222dp
- 111.1111dp
- 112.0000dp
- 112.8889dp
- 113.7778dp
- 114.6667dp
- 115.5556dp
- 116.4444dp
- 117.3333dp
- 118.2222dp
- 119.1111dp
- 120.0000dp
- 120.8889dp
- 121.7778dp
- 122.6667dp
- 123.5556dp
- 124.4444dp
- 125.3333dp
- 126.2222dp
- 127.1111dp
- 128.0000dp
- 128.8889dp
- 129.7778dp
- 130.6667dp
- 131.5556dp
- 132.4444dp
- 133.3333dp
- 134.2222dp
- 135.1111dp
- 136.0000dp
- 136.8889dp
- 137.7778dp
- 138.6667dp
- 139.5556dp
- 140.4444dp
- 141.3333dp
- 142.2222dp
- 143.1111dp
- 144.0000dp
- 144.8889dp
- 145.7778dp
- 146.6667dp
- 147.5556dp
- 148.4444dp
- 149.3333dp
- 150.2222dp
- 151.1111dp
- 152.0000dp
- 152.8889dp
- 153.7778dp
- 154.6667dp
- 155.5556dp
- 156.4444dp
- 157.3333dp
- 158.2222dp
- 159.1111dp
- 160.0000dp
- 160.8889dp
- 161.7778dp
- 162.6667dp
- 163.5556dp
- 164.4444dp
- 165.3333dp
- 166.2222dp
- 167.1111dp
- 168.0000dp
- 168.8889dp
- 169.7778dp
- 170.6667dp
- 171.5556dp
- 172.4444dp
- 173.3333dp
- 174.2222dp
- 175.1111dp
- 176.0000dp
- 176.8889dp
- 177.7778dp
- 178.6667dp
- 179.5556dp
- 180.4444dp
- 181.3333dp
- 182.2222dp
- 183.1111dp
- 184.0000dp
- 184.8889dp
- 185.7778dp
- 186.6667dp
- 187.5556dp
- 188.4444dp
- 189.3333dp
- 190.2222dp
- 191.1111dp
- 192.0000dp
- 192.8889dp
- 193.7778dp
- 194.6667dp
- 195.5556dp
- 196.4444dp
- 197.3333dp
- 198.2222dp
- 199.1111dp
- 200.0000dp
- 200.8889dp
- 201.7778dp
- 202.6667dp
- 203.5556dp
- 204.4444dp
- 205.3333dp
- 206.2222dp
- 207.1111dp
- 208.0000dp
- 208.8889dp
- 209.7778dp
- 210.6667dp
- 211.5556dp
- 212.4444dp
- 213.3333dp
- 214.2222dp
- 215.1111dp
- 216.0000dp
- 216.8889dp
- 217.7778dp
- 218.6667dp
- 219.5556dp
- 220.4444dp
- 221.3333dp
- 222.2222dp
- 223.1111dp
- 224.0000dp
- 224.8889dp
- 225.7778dp
- 226.6667dp
- 227.5556dp
- 228.4444dp
- 229.3333dp
- 230.2222dp
- 231.1111dp
- 232.0000dp
- 232.8889dp
- 233.7778dp
- 234.6667dp
- 235.5556dp
- 236.4444dp
- 237.3333dp
- 238.2222dp
- 239.1111dp
- 240.0000dp
- 240.8889dp
- 241.7778dp
- 242.6667dp
- 243.5556dp
- 244.4444dp
- 245.3333dp
- 246.2222dp
- 247.1111dp
- 248.0000dp
- 248.8889dp
- 249.7778dp
- 250.6667dp
- 251.5556dp
- 252.4444dp
- 253.3333dp
- 254.2222dp
- 255.1111dp
- 256.0000dp
- 256.8889dp
- 257.7778dp
- 258.6667dp
- 259.5556dp
- 260.4444dp
- 261.3333dp
- 262.2222dp
- 263.1111dp
- 264.0000dp
- 264.8889dp
- 265.7778dp
- 266.6667dp
- 267.5556dp
- 268.4444dp
- 269.3333dp
- 270.2222dp
- 271.1111dp
- 272.0000dp
- 272.8889dp
- 273.7778dp
- 274.6667dp
- 275.5556dp
- 276.4444dp
- 277.3333dp
- 278.2222dp
- 279.1111dp
- 280.0000dp
- 280.8889dp
- 281.7778dp
- 282.6667dp
- 283.5556dp
- 284.4444dp
- 285.3333dp
- 286.2222dp
- 287.1111dp
- 288.0000dp
- 288.8889dp
- 289.7778dp
- 290.6667dp
- 291.5556dp
- 292.4444dp
- 293.3333dp
- 294.2222dp
- 295.1111dp
- 296.0000dp
- 296.8889dp
- 297.7778dp
- 298.6667dp
- 299.5556dp
- 300.4444dp
- 301.3333dp
- 302.2222dp
- 303.1111dp
- 304.0000dp
- 304.8889dp
- 305.7778dp
- 306.6667dp
- 307.5556dp
- 308.4444dp
- 309.3333dp
- 310.2222dp
- 311.1111dp
- 312.0000dp
- 312.8889dp
- 313.7778dp
- 314.6667dp
- 315.5556dp
- 316.4444dp
- 317.3333dp
- 318.2222dp
- 319.1111dp
- 320.0000dp
- 324.4444dp
- 328.8889dp
- 355.5556dp
- 364.4444dp
- 375.1111dp
- 419.5556dp
- 444.4444dp
- 533.3333dp
- 568.8889dp
- 640.0000dp
- 5.3333sp
- 6.2222sp
- 7.1111sp
- 8.0000sp
- 8.8889sp
- 9.7778sp
- 10.6667sp
- 11.5556sp
- 12.4444sp
- 13.3333sp
- 14.2222sp
- 15.1111sp
- 16.0000sp
- 16.8889sp
- 17.7778sp
- 18.6667sp
- 19.5556sp
- 20.4444sp
- 21.3333sp
- 22.2222sp
- 24.8889sp
- 26.6667sp
- 28.4444sp
- 30.2222sp
- 32.0000sp
- 33.7778sp
- 35.5556sp
- 37.3333sp
- 42.6667sp
-
diff --git a/app/src/main/res/values-sw360dp/dimens.xml b/app/src/main/res/values-sw360dp/dimens.xml
deleted file mode 100644
index 7a4ffaf..0000000
--- a/app/src/main/res/values-sw360dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -60.0000dp
- -30.0000dp
- -20.0000dp
- -12.0000dp
- -10.0000dp
- -8.0000dp
- -5.0000dp
- -2.0000dp
- -1.0000dp
- 0.0000dp
- 0.1000dp
- 0.5000dp
- 1.0000dp
- 1.5000dp
- 2.0000dp
- 2.5000dp
- 3.0000dp
- 3.5000dp
- 4.0000dp
- 4.5000dp
- 5.0000dp
- 6.0000dp
- 7.0000dp
- 8.0000dp
- 9.0000dp
- 10.0000dp
- 11.0000dp
- 12.0000dp
- 13.0000dp
- 14.0000dp
- 15.0000dp
- 16.0000dp
- 17.0000dp
- 18.0000dp
- 19.0000dp
- 20.0000dp
- 21.0000dp
- 22.0000dp
- 23.0000dp
- 24.0000dp
- 25.0000dp
- 26.0000dp
- 27.0000dp
- 28.0000dp
- 29.0000dp
- 30.0000dp
- 31.0000dp
- 32.0000dp
- 33.0000dp
- 34.0000dp
- 35.0000dp
- 36.0000dp
- 37.0000dp
- 38.0000dp
- 39.0000dp
- 40.0000dp
- 41.0000dp
- 42.0000dp
- 43.0000dp
- 44.0000dp
- 45.0000dp
- 46.0000dp
- 47.0000dp
- 48.0000dp
- 49.0000dp
- 50.0000dp
- 51.0000dp
- 52.0000dp
- 53.0000dp
- 54.0000dp
- 55.0000dp
- 56.0000dp
- 57.0000dp
- 58.0000dp
- 59.0000dp
- 60.0000dp
- 61.0000dp
- 62.0000dp
- 63.0000dp
- 64.0000dp
- 65.0000dp
- 66.0000dp
- 67.0000dp
- 68.0000dp
- 69.0000dp
- 70.0000dp
- 71.0000dp
- 72.0000dp
- 73.0000dp
- 74.0000dp
- 75.0000dp
- 76.0000dp
- 77.0000dp
- 78.0000dp
- 79.0000dp
- 80.0000dp
- 81.0000dp
- 82.0000dp
- 83.0000dp
- 84.0000dp
- 85.0000dp
- 86.0000dp
- 87.0000dp
- 88.0000dp
- 89.0000dp
- 90.0000dp
- 91.0000dp
- 92.0000dp
- 93.0000dp
- 94.0000dp
- 95.0000dp
- 96.0000dp
- 97.0000dp
- 98.0000dp
- 99.0000dp
- 100.0000dp
- 101.0000dp
- 102.0000dp
- 103.0000dp
- 104.0000dp
- 105.0000dp
- 106.0000dp
- 107.0000dp
- 108.0000dp
- 109.0000dp
- 110.0000dp
- 111.0000dp
- 112.0000dp
- 113.0000dp
- 114.0000dp
- 115.0000dp
- 116.0000dp
- 117.0000dp
- 118.0000dp
- 119.0000dp
- 120.0000dp
- 121.0000dp
- 122.0000dp
- 123.0000dp
- 124.0000dp
- 125.0000dp
- 126.0000dp
- 127.0000dp
- 128.0000dp
- 129.0000dp
- 130.0000dp
- 131.0000dp
- 132.0000dp
- 133.0000dp
- 134.0000dp
- 135.0000dp
- 136.0000dp
- 137.0000dp
- 138.0000dp
- 139.0000dp
- 140.0000dp
- 141.0000dp
- 142.0000dp
- 143.0000dp
- 144.0000dp
- 145.0000dp
- 146.0000dp
- 147.0000dp
- 148.0000dp
- 149.0000dp
- 150.0000dp
- 151.0000dp
- 152.0000dp
- 153.0000dp
- 154.0000dp
- 155.0000dp
- 156.0000dp
- 157.0000dp
- 158.0000dp
- 159.0000dp
- 160.0000dp
- 161.0000dp
- 162.0000dp
- 163.0000dp
- 164.0000dp
- 165.0000dp
- 166.0000dp
- 167.0000dp
- 168.0000dp
- 169.0000dp
- 170.0000dp
- 171.0000dp
- 172.0000dp
- 173.0000dp
- 174.0000dp
- 175.0000dp
- 176.0000dp
- 177.0000dp
- 178.0000dp
- 179.0000dp
- 180.0000dp
- 181.0000dp
- 182.0000dp
- 183.0000dp
- 184.0000dp
- 185.0000dp
- 186.0000dp
- 187.0000dp
- 188.0000dp
- 189.0000dp
- 190.0000dp
- 191.0000dp
- 192.0000dp
- 193.0000dp
- 194.0000dp
- 195.0000dp
- 196.0000dp
- 197.0000dp
- 198.0000dp
- 199.0000dp
- 200.0000dp
- 201.0000dp
- 202.0000dp
- 203.0000dp
- 204.0000dp
- 205.0000dp
- 206.0000dp
- 207.0000dp
- 208.0000dp
- 209.0000dp
- 210.0000dp
- 211.0000dp
- 212.0000dp
- 213.0000dp
- 214.0000dp
- 215.0000dp
- 216.0000dp
- 217.0000dp
- 218.0000dp
- 219.0000dp
- 220.0000dp
- 221.0000dp
- 222.0000dp
- 223.0000dp
- 224.0000dp
- 225.0000dp
- 226.0000dp
- 227.0000dp
- 228.0000dp
- 229.0000dp
- 230.0000dp
- 231.0000dp
- 232.0000dp
- 233.0000dp
- 234.0000dp
- 235.0000dp
- 236.0000dp
- 237.0000dp
- 238.0000dp
- 239.0000dp
- 240.0000dp
- 241.0000dp
- 242.0000dp
- 243.0000dp
- 244.0000dp
- 245.0000dp
- 246.0000dp
- 247.0000dp
- 248.0000dp
- 249.0000dp
- 250.0000dp
- 251.0000dp
- 252.0000dp
- 253.0000dp
- 254.0000dp
- 255.0000dp
- 256.0000dp
- 257.0000dp
- 258.0000dp
- 259.0000dp
- 260.0000dp
- 261.0000dp
- 262.0000dp
- 263.0000dp
- 264.0000dp
- 265.0000dp
- 266.0000dp
- 267.0000dp
- 268.0000dp
- 269.0000dp
- 270.0000dp
- 271.0000dp
- 272.0000dp
- 273.0000dp
- 274.0000dp
- 275.0000dp
- 276.0000dp
- 277.0000dp
- 278.0000dp
- 279.0000dp
- 280.0000dp
- 281.0000dp
- 282.0000dp
- 283.0000dp
- 284.0000dp
- 285.0000dp
- 286.0000dp
- 287.0000dp
- 288.0000dp
- 289.0000dp
- 290.0000dp
- 291.0000dp
- 292.0000dp
- 293.0000dp
- 294.0000dp
- 295.0000dp
- 296.0000dp
- 297.0000dp
- 298.0000dp
- 299.0000dp
- 300.0000dp
- 301.0000dp
- 302.0000dp
- 303.0000dp
- 304.0000dp
- 305.0000dp
- 306.0000dp
- 307.0000dp
- 308.0000dp
- 309.0000dp
- 310.0000dp
- 311.0000dp
- 312.0000dp
- 313.0000dp
- 314.0000dp
- 315.0000dp
- 316.0000dp
- 317.0000dp
- 318.0000dp
- 319.0000dp
- 320.0000dp
- 321.0000dp
- 322.0000dp
- 323.0000dp
- 324.0000dp
- 325.0000dp
- 326.0000dp
- 327.0000dp
- 328.0000dp
- 329.0000dp
- 330.0000dp
- 331.0000dp
- 332.0000dp
- 333.0000dp
- 334.0000dp
- 335.0000dp
- 336.0000dp
- 337.0000dp
- 338.0000dp
- 339.0000dp
- 340.0000dp
- 341.0000dp
- 342.0000dp
- 343.0000dp
- 344.0000dp
- 345.0000dp
- 346.0000dp
- 347.0000dp
- 348.0000dp
- 349.0000dp
- 350.0000dp
- 351.0000dp
- 352.0000dp
- 353.0000dp
- 354.0000dp
- 355.0000dp
- 356.0000dp
- 357.0000dp
- 358.0000dp
- 359.0000dp
- 360.0000dp
- 365.0000dp
- 370.0000dp
- 400.0000dp
- 410.0000dp
- 422.0000dp
- 472.0000dp
- 500.0000dp
- 600.0000dp
- 640.0000dp
- 720.0000dp
- 6.0000sp
- 7.0000sp
- 8.0000sp
- 9.0000sp
- 10.0000sp
- 11.0000sp
- 12.0000sp
- 13.0000sp
- 14.0000sp
- 15.0000sp
- 16.0000sp
- 17.0000sp
- 18.0000sp
- 19.0000sp
- 20.0000sp
- 21.0000sp
- 22.0000sp
- 23.0000sp
- 24.0000sp
- 25.0000sp
- 28.0000sp
- 30.0000sp
- 32.0000sp
- 34.0000sp
- 36.0000sp
- 38.0000sp
- 40.0000sp
- 42.0000sp
- 48.0000sp
-
diff --git a/app/src/main/res/values-sw384dp/dimens.xml b/app/src/main/res/values-sw384dp/dimens.xml
deleted file mode 100644
index af5661a..0000000
--- a/app/src/main/res/values-sw384dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -64.0000dp
- -32.0000dp
- -21.3333dp
- -12.8000dp
- -10.6667dp
- -8.5333dp
- -5.3333dp
- -2.1333dp
- -1.0667dp
- 0.0000dp
- 0.1067dp
- 0.5333dp
- 1.0667dp
- 1.6000dp
- 2.1333dp
- 2.6667dp
- 3.2000dp
- 3.7333dp
- 4.2667dp
- 4.8000dp
- 5.3333dp
- 6.4000dp
- 7.4667dp
- 8.5333dp
- 9.6000dp
- 10.6667dp
- 11.7333dp
- 12.8000dp
- 13.8667dp
- 14.9333dp
- 16.0000dp
- 17.0667dp
- 18.1333dp
- 19.2000dp
- 20.2667dp
- 21.3333dp
- 22.4000dp
- 23.4667dp
- 24.5333dp
- 25.6000dp
- 26.6667dp
- 27.7333dp
- 28.8000dp
- 29.8667dp
- 30.9333dp
- 32.0000dp
- 33.0667dp
- 34.1333dp
- 35.2000dp
- 36.2667dp
- 37.3333dp
- 38.4000dp
- 39.4667dp
- 40.5333dp
- 41.6000dp
- 42.6667dp
- 43.7333dp
- 44.8000dp
- 45.8667dp
- 46.9333dp
- 48.0000dp
- 49.0667dp
- 50.1333dp
- 51.2000dp
- 52.2667dp
- 53.3333dp
- 54.4000dp
- 55.4667dp
- 56.5333dp
- 57.6000dp
- 58.6667dp
- 59.7333dp
- 60.8000dp
- 61.8667dp
- 62.9333dp
- 64.0000dp
- 65.0667dp
- 66.1333dp
- 67.2000dp
- 68.2667dp
- 69.3333dp
- 70.4000dp
- 71.4667dp
- 72.5333dp
- 73.6000dp
- 74.6667dp
- 75.7333dp
- 76.8000dp
- 77.8667dp
- 78.9333dp
- 80.0000dp
- 81.0667dp
- 82.1333dp
- 83.2000dp
- 84.2667dp
- 85.3333dp
- 86.4000dp
- 87.4667dp
- 88.5333dp
- 89.6000dp
- 90.6667dp
- 91.7333dp
- 92.8000dp
- 93.8667dp
- 94.9333dp
- 96.0000dp
- 97.0667dp
- 98.1333dp
- 99.2000dp
- 100.2667dp
- 101.3333dp
- 102.4000dp
- 103.4667dp
- 104.5333dp
- 105.6000dp
- 106.6667dp
- 107.7333dp
- 108.8000dp
- 109.8667dp
- 110.9333dp
- 112.0000dp
- 113.0667dp
- 114.1333dp
- 115.2000dp
- 116.2667dp
- 117.3333dp
- 118.4000dp
- 119.4667dp
- 120.5333dp
- 121.6000dp
- 122.6667dp
- 123.7333dp
- 124.8000dp
- 125.8667dp
- 126.9333dp
- 128.0000dp
- 129.0667dp
- 130.1333dp
- 131.2000dp
- 132.2667dp
- 133.3333dp
- 134.4000dp
- 135.4667dp
- 136.5333dp
- 137.6000dp
- 138.6667dp
- 139.7333dp
- 140.8000dp
- 141.8667dp
- 142.9333dp
- 144.0000dp
- 145.0667dp
- 146.1333dp
- 147.2000dp
- 148.2667dp
- 149.3333dp
- 150.4000dp
- 151.4667dp
- 152.5333dp
- 153.6000dp
- 154.6667dp
- 155.7333dp
- 156.8000dp
- 157.8667dp
- 158.9333dp
- 160.0000dp
- 161.0667dp
- 162.1333dp
- 163.2000dp
- 164.2667dp
- 165.3333dp
- 166.4000dp
- 167.4667dp
- 168.5333dp
- 169.6000dp
- 170.6667dp
- 171.7333dp
- 172.8000dp
- 173.8667dp
- 174.9333dp
- 176.0000dp
- 177.0667dp
- 178.1333dp
- 179.2000dp
- 180.2667dp
- 181.3333dp
- 182.4000dp
- 183.4667dp
- 184.5333dp
- 185.6000dp
- 186.6667dp
- 187.7333dp
- 188.8000dp
- 189.8667dp
- 190.9333dp
- 192.0000dp
- 193.0667dp
- 194.1333dp
- 195.2000dp
- 196.2667dp
- 197.3333dp
- 198.4000dp
- 199.4667dp
- 200.5333dp
- 201.6000dp
- 202.6667dp
- 203.7333dp
- 204.8000dp
- 205.8667dp
- 206.9333dp
- 208.0000dp
- 209.0667dp
- 210.1333dp
- 211.2000dp
- 212.2667dp
- 213.3333dp
- 214.4000dp
- 215.4667dp
- 216.5333dp
- 217.6000dp
- 218.6667dp
- 219.7333dp
- 220.8000dp
- 221.8667dp
- 222.9333dp
- 224.0000dp
- 225.0667dp
- 226.1333dp
- 227.2000dp
- 228.2667dp
- 229.3333dp
- 230.4000dp
- 231.4667dp
- 232.5333dp
- 233.6000dp
- 234.6667dp
- 235.7333dp
- 236.8000dp
- 237.8667dp
- 238.9333dp
- 240.0000dp
- 241.0667dp
- 242.1333dp
- 243.2000dp
- 244.2667dp
- 245.3333dp
- 246.4000dp
- 247.4667dp
- 248.5333dp
- 249.6000dp
- 250.6667dp
- 251.7333dp
- 252.8000dp
- 253.8667dp
- 254.9333dp
- 256.0000dp
- 257.0667dp
- 258.1333dp
- 259.2000dp
- 260.2667dp
- 261.3333dp
- 262.4000dp
- 263.4667dp
- 264.5333dp
- 265.6000dp
- 266.6667dp
- 267.7333dp
- 268.8000dp
- 269.8667dp
- 270.9333dp
- 272.0000dp
- 273.0667dp
- 274.1333dp
- 275.2000dp
- 276.2667dp
- 277.3333dp
- 278.4000dp
- 279.4667dp
- 280.5333dp
- 281.6000dp
- 282.6667dp
- 283.7333dp
- 284.8000dp
- 285.8667dp
- 286.9333dp
- 288.0000dp
- 289.0667dp
- 290.1333dp
- 291.2000dp
- 292.2667dp
- 293.3333dp
- 294.4000dp
- 295.4667dp
- 296.5333dp
- 297.6000dp
- 298.6667dp
- 299.7333dp
- 300.8000dp
- 301.8667dp
- 302.9333dp
- 304.0000dp
- 305.0667dp
- 306.1333dp
- 307.2000dp
- 308.2667dp
- 309.3333dp
- 310.4000dp
- 311.4667dp
- 312.5333dp
- 313.6000dp
- 314.6667dp
- 315.7333dp
- 316.8000dp
- 317.8667dp
- 318.9333dp
- 320.0000dp
- 321.0667dp
- 322.1333dp
- 323.2000dp
- 324.2667dp
- 325.3333dp
- 326.4000dp
- 327.4667dp
- 328.5333dp
- 329.6000dp
- 330.6667dp
- 331.7333dp
- 332.8000dp
- 333.8667dp
- 334.9333dp
- 336.0000dp
- 337.0667dp
- 338.1333dp
- 339.2000dp
- 340.2667dp
- 341.3333dp
- 342.4000dp
- 343.4667dp
- 344.5333dp
- 345.6000dp
- 346.6667dp
- 347.7333dp
- 348.8000dp
- 349.8667dp
- 350.9333dp
- 352.0000dp
- 353.0667dp
- 354.1333dp
- 355.2000dp
- 356.2667dp
- 357.3333dp
- 358.4000dp
- 359.4667dp
- 360.5333dp
- 361.6000dp
- 362.6667dp
- 363.7333dp
- 364.8000dp
- 365.8667dp
- 366.9333dp
- 368.0000dp
- 369.0667dp
- 370.1333dp
- 371.2000dp
- 372.2667dp
- 373.3333dp
- 374.4000dp
- 375.4667dp
- 376.5333dp
- 377.6000dp
- 378.6667dp
- 379.7333dp
- 380.8000dp
- 381.8667dp
- 382.9333dp
- 384.0000dp
- 389.3333dp
- 394.6667dp
- 426.6667dp
- 437.3333dp
- 450.1333dp
- 503.4667dp
- 533.3333dp
- 640.0000dp
- 682.6667dp
- 768.0000dp
- 6.4000sp
- 7.4667sp
- 8.5333sp
- 9.6000sp
- 10.6667sp
- 11.7333sp
- 12.8000sp
- 13.8667sp
- 14.9333sp
- 16.0000sp
- 17.0667sp
- 18.1333sp
- 19.2000sp
- 20.2667sp
- 21.3333sp
- 22.4000sp
- 23.4667sp
- 24.5333sp
- 25.6000sp
- 26.6667sp
- 29.8667sp
- 32.0000sp
- 34.1333sp
- 36.2667sp
- 38.4000sp
- 40.5333sp
- 42.6667sp
- 44.8000sp
- 51.2000sp
-
diff --git a/app/src/main/res/values-sw392dp/dimens.xml b/app/src/main/res/values-sw392dp/dimens.xml
deleted file mode 100644
index 07f6688..0000000
--- a/app/src/main/res/values-sw392dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -65.4545dp
- -32.7273dp
- -21.8182dp
- -13.0909dp
- -10.9091dp
- -8.7273dp
- -5.4545dp
- -2.1818dp
- -1.0909dp
- 0.0000dp
- 0.1091dp
- 0.5455dp
- 1.0909dp
- 1.6364dp
- 2.1818dp
- 2.7273dp
- 3.2727dp
- 3.8182dp
- 4.3636dp
- 4.9091dp
- 5.4545dp
- 6.5455dp
- 7.6364dp
- 8.7273dp
- 9.8182dp
- 10.9091dp
- 12.0000dp
- 13.0909dp
- 14.1818dp
- 15.2727dp
- 16.3636dp
- 17.4545dp
- 18.5455dp
- 19.6364dp
- 20.7273dp
- 21.8182dp
- 22.9091dp
- 24.0000dp
- 25.0909dp
- 26.1818dp
- 27.2727dp
- 28.3636dp
- 29.4545dp
- 30.5454dp
- 31.6364dp
- 32.7273dp
- 33.8182dp
- 34.9091dp
- 36.0000dp
- 37.0909dp
- 38.1818dp
- 39.2727dp
- 40.3636dp
- 41.4545dp
- 42.5454dp
- 43.6364dp
- 44.7273dp
- 45.8182dp
- 46.9091dp
- 48.0000dp
- 49.0909dp
- 50.1818dp
- 51.2727dp
- 52.3636dp
- 53.4545dp
- 54.5454dp
- 55.6364dp
- 56.7273dp
- 57.8182dp
- 58.9091dp
- 60.0000dp
- 61.0909dp
- 62.1818dp
- 63.2727dp
- 64.3636dp
- 65.4545dp
- 66.5454dp
- 67.6364dp
- 68.7273dp
- 69.8182dp
- 70.9091dp
- 72.0000dp
- 73.0909dp
- 74.1818dp
- 75.2727dp
- 76.3636dp
- 77.4545dp
- 78.5454dp
- 79.6363dp
- 80.7273dp
- 81.8182dp
- 82.9091dp
- 84.0000dp
- 85.0909dp
- 86.1818dp
- 87.2727dp
- 88.3636dp
- 89.4545dp
- 90.5454dp
- 91.6363dp
- 92.7273dp
- 93.8182dp
- 94.9091dp
- 96.0000dp
- 97.0909dp
- 98.1818dp
- 99.2727dp
- 100.3636dp
- 101.4545dp
- 102.5454dp
- 103.6363dp
- 104.7273dp
- 105.8182dp
- 106.9091dp
- 108.0000dp
- 109.0909dp
- 110.1818dp
- 111.2727dp
- 112.3636dp
- 113.4545dp
- 114.5454dp
- 115.6363dp
- 116.7273dp
- 117.8182dp
- 118.9091dp
- 120.0000dp
- 121.0909dp
- 122.1818dp
- 123.2727dp
- 124.3636dp
- 125.4545dp
- 126.5454dp
- 127.6363dp
- 128.7272dp
- 129.8182dp
- 130.9091dp
- 132.0000dp
- 133.0909dp
- 134.1818dp
- 135.2727dp
- 136.3636dp
- 137.4545dp
- 138.5454dp
- 139.6363dp
- 140.7272dp
- 141.8182dp
- 142.9091dp
- 144.0000dp
- 145.0909dp
- 146.1818dp
- 147.2727dp
- 148.3636dp
- 149.4545dp
- 150.5454dp
- 151.6363dp
- 152.7272dp
- 153.8182dp
- 154.9091dp
- 156.0000dp
- 157.0909dp
- 158.1818dp
- 159.2727dp
- 160.3636dp
- 161.4545dp
- 162.5454dp
- 163.6363dp
- 164.7272dp
- 165.8182dp
- 166.9091dp
- 168.0000dp
- 169.0909dp
- 170.1818dp
- 171.2727dp
- 172.3636dp
- 173.4545dp
- 174.5454dp
- 175.6363dp
- 176.7272dp
- 177.8181dp
- 178.9091dp
- 180.0000dp
- 181.0909dp
- 182.1818dp
- 183.2727dp
- 184.3636dp
- 185.4545dp
- 186.5454dp
- 187.6363dp
- 188.7272dp
- 189.8181dp
- 190.9091dp
- 192.0000dp
- 193.0909dp
- 194.1818dp
- 195.2727dp
- 196.3636dp
- 197.4545dp
- 198.5454dp
- 199.6363dp
- 200.7272dp
- 201.8181dp
- 202.9091dp
- 204.0000dp
- 205.0909dp
- 206.1818dp
- 207.2727dp
- 208.3636dp
- 209.4545dp
- 210.5454dp
- 211.6363dp
- 212.7272dp
- 213.8181dp
- 214.9091dp
- 216.0000dp
- 217.0909dp
- 218.1818dp
- 219.2727dp
- 220.3636dp
- 221.4545dp
- 222.5454dp
- 223.6363dp
- 224.7272dp
- 225.8181dp
- 226.9090dp
- 228.0000dp
- 229.0909dp
- 230.1818dp
- 231.2727dp
- 232.3636dp
- 233.4545dp
- 234.5454dp
- 235.6363dp
- 236.7272dp
- 237.8181dp
- 238.9090dp
- 240.0000dp
- 241.0909dp
- 242.1818dp
- 243.2727dp
- 244.3636dp
- 245.4545dp
- 246.5454dp
- 247.6363dp
- 248.7272dp
- 249.8181dp
- 250.9090dp
- 252.0000dp
- 253.0909dp
- 254.1818dp
- 255.2727dp
- 256.3636dp
- 257.4545dp
- 258.5454dp
- 259.6363dp
- 260.7272dp
- 261.8181dp
- 262.9090dp
- 264.0000dp
- 265.0909dp
- 266.1818dp
- 267.2727dp
- 268.3636dp
- 269.4545dp
- 270.5454dp
- 271.6363dp
- 272.7272dp
- 273.8181dp
- 274.9090dp
- 275.9999dp
- 277.0909dp
- 278.1818dp
- 279.2727dp
- 280.3636dp
- 281.4545dp
- 282.5454dp
- 283.6363dp
- 284.7272dp
- 285.8181dp
- 286.9090dp
- 287.9999dp
- 289.0909dp
- 290.1818dp
- 291.2727dp
- 292.3636dp
- 293.4545dp
- 294.5454dp
- 295.6363dp
- 296.7272dp
- 297.8181dp
- 298.9090dp
- 299.9999dp
- 301.0909dp
- 302.1818dp
- 303.2727dp
- 304.3636dp
- 305.4545dp
- 306.5454dp
- 307.6363dp
- 308.7272dp
- 309.8181dp
- 310.9090dp
- 311.9999dp
- 313.0909dp
- 314.1818dp
- 315.2727dp
- 316.3636dp
- 317.4545dp
- 318.5454dp
- 319.6363dp
- 320.7272dp
- 321.8181dp
- 322.9090dp
- 323.9999dp
- 325.0908dp
- 326.1818dp
- 327.2727dp
- 328.3636dp
- 329.4545dp
- 330.5454dp
- 331.6363dp
- 332.7272dp
- 333.8181dp
- 334.9090dp
- 335.9999dp
- 337.0908dp
- 338.1818dp
- 339.2727dp
- 340.3636dp
- 341.4545dp
- 342.5454dp
- 343.6363dp
- 344.7272dp
- 345.8181dp
- 346.9090dp
- 347.9999dp
- 349.0908dp
- 350.1818dp
- 351.2727dp
- 352.3636dp
- 353.4545dp
- 354.5454dp
- 355.6363dp
- 356.7272dp
- 357.8181dp
- 358.9090dp
- 359.9999dp
- 361.0908dp
- 362.1818dp
- 363.2727dp
- 364.3636dp
- 365.4545dp
- 366.5454dp
- 367.6363dp
- 368.7272dp
- 369.8181dp
- 370.9090dp
- 371.9999dp
- 373.0908dp
- 374.1817dp
- 375.2727dp
- 376.3636dp
- 377.4545dp
- 378.5454dp
- 379.6363dp
- 380.7272dp
- 381.8181dp
- 382.9090dp
- 383.9999dp
- 385.0908dp
- 386.1817dp
- 387.2727dp
- 388.3636dp
- 389.4545dp
- 390.5454dp
- 391.6363dp
- 392.7272dp
- 398.1817dp
- 403.6363dp
- 436.3636dp
- 447.2726dp
- 460.3636dp
- 514.9090dp
- 545.4544dp
- 654.5453dp
- 698.1817dp
- 785.4544dp
- 6.5455sp
- 7.6364sp
- 8.7273sp
- 9.8182sp
- 10.9091sp
- 12.0000sp
- 13.0909sp
- 14.1818sp
- 15.2727sp
- 16.3636sp
- 17.4545sp
- 18.5455sp
- 19.6364sp
- 20.7273sp
- 21.8182sp
- 22.9091sp
- 24.0000sp
- 25.0909sp
- 26.1818sp
- 27.2727sp
- 30.5454sp
- 32.7273sp
- 34.9091sp
- 37.0909sp
- 39.2727sp
- 41.4545sp
- 43.6364sp
- 45.8182sp
- 52.3636sp
-
diff --git a/app/src/main/res/values-sw400dp/dimens.xml b/app/src/main/res/values-sw400dp/dimens.xml
deleted file mode 100644
index 6ed8f9b..0000000
--- a/app/src/main/res/values-sw400dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -66.6667dp
- -33.3333dp
- -22.2222dp
- -13.3333dp
- -11.1111dp
- -8.8889dp
- -5.5556dp
- -2.2222dp
- -1.1111dp
- 0.0000dp
- 0.1111dp
- 0.5556dp
- 1.1111dp
- 1.6667dp
- 2.2222dp
- 2.7778dp
- 3.3333dp
- 3.8889dp
- 4.4444dp
- 5.0000dp
- 5.5556dp
- 6.6667dp
- 7.7778dp
- 8.8889dp
- 10.0000dp
- 11.1111dp
- 12.2222dp
- 13.3333dp
- 14.4444dp
- 15.5556dp
- 16.6667dp
- 17.7778dp
- 18.8889dp
- 20.0000dp
- 21.1111dp
- 22.2222dp
- 23.3333dp
- 24.4444dp
- 25.5556dp
- 26.6667dp
- 27.7778dp
- 28.8889dp
- 30.0000dp
- 31.1111dp
- 32.2222dp
- 33.3333dp
- 34.4444dp
- 35.5556dp
- 36.6667dp
- 37.7778dp
- 38.8889dp
- 40.0000dp
- 41.1111dp
- 42.2222dp
- 43.3333dp
- 44.4444dp
- 45.5556dp
- 46.6667dp
- 47.7778dp
- 48.8889dp
- 50.0000dp
- 51.1111dp
- 52.2222dp
- 53.3333dp
- 54.4444dp
- 55.5556dp
- 56.6667dp
- 57.7778dp
- 58.8889dp
- 60.0000dp
- 61.1111dp
- 62.2222dp
- 63.3333dp
- 64.4444dp
- 65.5556dp
- 66.6667dp
- 67.7778dp
- 68.8889dp
- 70.0000dp
- 71.1111dp
- 72.2222dp
- 73.3333dp
- 74.4444dp
- 75.5556dp
- 76.6667dp
- 77.7778dp
- 78.8889dp
- 80.0000dp
- 81.1111dp
- 82.2222dp
- 83.3333dp
- 84.4444dp
- 85.5556dp
- 86.6667dp
- 87.7778dp
- 88.8889dp
- 90.0000dp
- 91.1111dp
- 92.2222dp
- 93.3333dp
- 94.4444dp
- 95.5556dp
- 96.6667dp
- 97.7778dp
- 98.8889dp
- 100.0000dp
- 101.1111dp
- 102.2222dp
- 103.3333dp
- 104.4444dp
- 105.5556dp
- 106.6667dp
- 107.7778dp
- 108.8889dp
- 110.0000dp
- 111.1111dp
- 112.2222dp
- 113.3333dp
- 114.4444dp
- 115.5556dp
- 116.6667dp
- 117.7778dp
- 118.8889dp
- 120.0000dp
- 121.1111dp
- 122.2222dp
- 123.3333dp
- 124.4444dp
- 125.5556dp
- 126.6667dp
- 127.7778dp
- 128.8889dp
- 130.0000dp
- 131.1111dp
- 132.2222dp
- 133.3333dp
- 134.4444dp
- 135.5556dp
- 136.6667dp
- 137.7778dp
- 138.8889dp
- 140.0000dp
- 141.1111dp
- 142.2222dp
- 143.3333dp
- 144.4444dp
- 145.5556dp
- 146.6667dp
- 147.7778dp
- 148.8889dp
- 150.0000dp
- 151.1111dp
- 152.2222dp
- 153.3333dp
- 154.4444dp
- 155.5556dp
- 156.6667dp
- 157.7778dp
- 158.8889dp
- 160.0000dp
- 161.1111dp
- 162.2222dp
- 163.3333dp
- 164.4444dp
- 165.5556dp
- 166.6667dp
- 167.7778dp
- 168.8889dp
- 170.0000dp
- 171.1111dp
- 172.2222dp
- 173.3333dp
- 174.4444dp
- 175.5556dp
- 176.6667dp
- 177.7778dp
- 178.8889dp
- 180.0000dp
- 181.1111dp
- 182.2222dp
- 183.3333dp
- 184.4444dp
- 185.5556dp
- 186.6667dp
- 187.7778dp
- 188.8889dp
- 190.0000dp
- 191.1111dp
- 192.2222dp
- 193.3333dp
- 194.4444dp
- 195.5556dp
- 196.6667dp
- 197.7778dp
- 198.8889dp
- 200.0000dp
- 201.1111dp
- 202.2222dp
- 203.3333dp
- 204.4444dp
- 205.5556dp
- 206.6667dp
- 207.7778dp
- 208.8889dp
- 210.0000dp
- 211.1111dp
- 212.2222dp
- 213.3333dp
- 214.4444dp
- 215.5556dp
- 216.6667dp
- 217.7778dp
- 218.8889dp
- 220.0000dp
- 221.1111dp
- 222.2222dp
- 223.3333dp
- 224.4444dp
- 225.5556dp
- 226.6667dp
- 227.7778dp
- 228.8889dp
- 230.0000dp
- 231.1111dp
- 232.2222dp
- 233.3333dp
- 234.4444dp
- 235.5556dp
- 236.6667dp
- 237.7778dp
- 238.8889dp
- 240.0000dp
- 241.1111dp
- 242.2222dp
- 243.3333dp
- 244.4444dp
- 245.5556dp
- 246.6667dp
- 247.7778dp
- 248.8889dp
- 250.0000dp
- 251.1111dp
- 252.2222dp
- 253.3333dp
- 254.4444dp
- 255.5556dp
- 256.6667dp
- 257.7778dp
- 258.8889dp
- 260.0000dp
- 261.1111dp
- 262.2222dp
- 263.3333dp
- 264.4444dp
- 265.5556dp
- 266.6667dp
- 267.7778dp
- 268.8889dp
- 270.0000dp
- 271.1111dp
- 272.2222dp
- 273.3333dp
- 274.4444dp
- 275.5556dp
- 276.6667dp
- 277.7778dp
- 278.8889dp
- 280.0000dp
- 281.1111dp
- 282.2222dp
- 283.3333dp
- 284.4444dp
- 285.5556dp
- 286.6667dp
- 287.7778dp
- 288.8889dp
- 290.0000dp
- 291.1111dp
- 292.2222dp
- 293.3333dp
- 294.4444dp
- 295.5556dp
- 296.6667dp
- 297.7778dp
- 298.8889dp
- 300.0000dp
- 301.1111dp
- 302.2222dp
- 303.3333dp
- 304.4444dp
- 305.5556dp
- 306.6667dp
- 307.7778dp
- 308.8889dp
- 310.0000dp
- 311.1111dp
- 312.2222dp
- 313.3333dp
- 314.4444dp
- 315.5556dp
- 316.6667dp
- 317.7778dp
- 318.8889dp
- 320.0000dp
- 321.1111dp
- 322.2222dp
- 323.3333dp
- 324.4444dp
- 325.5556dp
- 326.6667dp
- 327.7778dp
- 328.8889dp
- 330.0000dp
- 331.1111dp
- 332.2222dp
- 333.3333dp
- 334.4444dp
- 335.5556dp
- 336.6667dp
- 337.7778dp
- 338.8889dp
- 340.0000dp
- 341.1111dp
- 342.2222dp
- 343.3333dp
- 344.4444dp
- 345.5556dp
- 346.6667dp
- 347.7778dp
- 348.8889dp
- 350.0000dp
- 351.1111dp
- 352.2222dp
- 353.3333dp
- 354.4444dp
- 355.5556dp
- 356.6667dp
- 357.7778dp
- 358.8889dp
- 360.0000dp
- 361.1111dp
- 362.2222dp
- 363.3333dp
- 364.4444dp
- 365.5556dp
- 366.6667dp
- 367.7778dp
- 368.8889dp
- 370.0000dp
- 371.1111dp
- 372.2222dp
- 373.3333dp
- 374.4444dp
- 375.5556dp
- 376.6667dp
- 377.7778dp
- 378.8889dp
- 380.0000dp
- 381.1111dp
- 382.2222dp
- 383.3333dp
- 384.4444dp
- 385.5556dp
- 386.6667dp
- 387.7778dp
- 388.8889dp
- 390.0000dp
- 391.1111dp
- 392.2222dp
- 393.3333dp
- 394.4444dp
- 395.5556dp
- 396.6667dp
- 397.7778dp
- 398.8889dp
- 400.0000dp
- 405.5556dp
- 411.1111dp
- 444.4444dp
- 455.5556dp
- 468.8889dp
- 524.4444dp
- 555.5556dp
- 666.6667dp
- 711.1111dp
- 800.0000dp
- 6.6667sp
- 7.7778sp
- 8.8889sp
- 10.0000sp
- 11.1111sp
- 12.2222sp
- 13.3333sp
- 14.4444sp
- 15.5556sp
- 16.6667sp
- 17.7778sp
- 18.8889sp
- 20.0000sp
- 21.1111sp
- 22.2222sp
- 23.3333sp
- 24.4444sp
- 25.5556sp
- 26.6667sp
- 27.7778sp
- 31.1111sp
- 33.3333sp
- 35.5556sp
- 37.7778sp
- 40.0000sp
- 42.2222sp
- 44.4444sp
- 46.6667sp
- 53.3333sp
-
diff --git a/app/src/main/res/values-sw410dp/dimens.xml b/app/src/main/res/values-sw410dp/dimens.xml
deleted file mode 100644
index c649a36..0000000
--- a/app/src/main/res/values-sw410dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -68.3333dp
- -34.1667dp
- -22.7778dp
- -13.6667dp
- -11.3889dp
- -9.1111dp
- -5.6944dp
- -2.2778dp
- -1.1389dp
- 0.0000dp
- 0.1139dp
- 0.5694dp
- 1.1389dp
- 1.7083dp
- 2.2778dp
- 2.8472dp
- 3.4167dp
- 3.9861dp
- 4.5556dp
- 5.1250dp
- 5.6944dp
- 6.8333dp
- 7.9722dp
- 9.1111dp
- 10.2500dp
- 11.3889dp
- 12.5278dp
- 13.6667dp
- 14.8056dp
- 15.9444dp
- 17.0833dp
- 18.2222dp
- 19.3611dp
- 20.5000dp
- 21.6389dp
- 22.7778dp
- 23.9167dp
- 25.0556dp
- 26.1944dp
- 27.3333dp
- 28.4722dp
- 29.6111dp
- 30.7500dp
- 31.8889dp
- 33.0278dp
- 34.1667dp
- 35.3056dp
- 36.4444dp
- 37.5833dp
- 38.7222dp
- 39.8611dp
- 41.0000dp
- 42.1389dp
- 43.2778dp
- 44.4167dp
- 45.5556dp
- 46.6944dp
- 47.8333dp
- 48.9722dp
- 50.1111dp
- 51.2500dp
- 52.3889dp
- 53.5278dp
- 54.6667dp
- 55.8056dp
- 56.9444dp
- 58.0833dp
- 59.2222dp
- 60.3611dp
- 61.5000dp
- 62.6389dp
- 63.7778dp
- 64.9167dp
- 66.0556dp
- 67.1944dp
- 68.3333dp
- 69.4722dp
- 70.6111dp
- 71.7500dp
- 72.8889dp
- 74.0278dp
- 75.1667dp
- 76.3056dp
- 77.4444dp
- 78.5833dp
- 79.7222dp
- 80.8611dp
- 82.0000dp
- 83.1389dp
- 84.2778dp
- 85.4167dp
- 86.5556dp
- 87.6944dp
- 88.8333dp
- 89.9722dp
- 91.1111dp
- 92.2500dp
- 93.3889dp
- 94.5278dp
- 95.6667dp
- 96.8056dp
- 97.9444dp
- 99.0833dp
- 100.2222dp
- 101.3611dp
- 102.5000dp
- 103.6389dp
- 104.7778dp
- 105.9167dp
- 107.0556dp
- 108.1944dp
- 109.3333dp
- 110.4722dp
- 111.6111dp
- 112.7500dp
- 113.8889dp
- 115.0278dp
- 116.1667dp
- 117.3056dp
- 118.4444dp
- 119.5833dp
- 120.7222dp
- 121.8611dp
- 123.0000dp
- 124.1389dp
- 125.2778dp
- 126.4167dp
- 127.5556dp
- 128.6944dp
- 129.8333dp
- 130.9722dp
- 132.1111dp
- 133.2500dp
- 134.3889dp
- 135.5278dp
- 136.6667dp
- 137.8056dp
- 138.9444dp
- 140.0833dp
- 141.2222dp
- 142.3611dp
- 143.5000dp
- 144.6389dp
- 145.7778dp
- 146.9167dp
- 148.0556dp
- 149.1944dp
- 150.3333dp
- 151.4722dp
- 152.6111dp
- 153.7500dp
- 154.8889dp
- 156.0278dp
- 157.1667dp
- 158.3056dp
- 159.4444dp
- 160.5833dp
- 161.7222dp
- 162.8611dp
- 164.0000dp
- 165.1389dp
- 166.2778dp
- 167.4167dp
- 168.5556dp
- 169.6944dp
- 170.8333dp
- 171.9722dp
- 173.1111dp
- 174.2500dp
- 175.3889dp
- 176.5278dp
- 177.6667dp
- 178.8056dp
- 179.9444dp
- 181.0833dp
- 182.2222dp
- 183.3611dp
- 184.5000dp
- 185.6389dp
- 186.7778dp
- 187.9167dp
- 189.0556dp
- 190.1944dp
- 191.3333dp
- 192.4722dp
- 193.6111dp
- 194.7500dp
- 195.8889dp
- 197.0278dp
- 198.1667dp
- 199.3056dp
- 200.4444dp
- 201.5833dp
- 202.7222dp
- 203.8611dp
- 205.0000dp
- 206.1389dp
- 207.2778dp
- 208.4167dp
- 209.5556dp
- 210.6944dp
- 211.8333dp
- 212.9722dp
- 214.1111dp
- 215.2500dp
- 216.3889dp
- 217.5278dp
- 218.6667dp
- 219.8056dp
- 220.9444dp
- 222.0833dp
- 223.2222dp
- 224.3611dp
- 225.5000dp
- 226.6389dp
- 227.7778dp
- 228.9167dp
- 230.0556dp
- 231.1944dp
- 232.3333dp
- 233.4722dp
- 234.6111dp
- 235.7500dp
- 236.8889dp
- 238.0278dp
- 239.1667dp
- 240.3056dp
- 241.4444dp
- 242.5833dp
- 243.7222dp
- 244.8611dp
- 246.0000dp
- 247.1389dp
- 248.2778dp
- 249.4167dp
- 250.5556dp
- 251.6944dp
- 252.8333dp
- 253.9722dp
- 255.1111dp
- 256.2500dp
- 257.3889dp
- 258.5278dp
- 259.6667dp
- 260.8056dp
- 261.9444dp
- 263.0833dp
- 264.2222dp
- 265.3611dp
- 266.5000dp
- 267.6389dp
- 268.7778dp
- 269.9167dp
- 271.0556dp
- 272.1944dp
- 273.3333dp
- 274.4722dp
- 275.6111dp
- 276.7500dp
- 277.8889dp
- 279.0278dp
- 280.1667dp
- 281.3056dp
- 282.4444dp
- 283.5833dp
- 284.7222dp
- 285.8611dp
- 287.0000dp
- 288.1389dp
- 289.2778dp
- 290.4167dp
- 291.5556dp
- 292.6944dp
- 293.8333dp
- 294.9722dp
- 296.1111dp
- 297.2500dp
- 298.3889dp
- 299.5278dp
- 300.6667dp
- 301.8056dp
- 302.9444dp
- 304.0833dp
- 305.2222dp
- 306.3611dp
- 307.5000dp
- 308.6389dp
- 309.7778dp
- 310.9167dp
- 312.0556dp
- 313.1944dp
- 314.3333dp
- 315.4722dp
- 316.6111dp
- 317.7500dp
- 318.8889dp
- 320.0278dp
- 321.1667dp
- 322.3056dp
- 323.4444dp
- 324.5833dp
- 325.7222dp
- 326.8611dp
- 328.0000dp
- 329.1389dp
- 330.2778dp
- 331.4167dp
- 332.5556dp
- 333.6944dp
- 334.8333dp
- 335.9722dp
- 337.1111dp
- 338.2500dp
- 339.3889dp
- 340.5278dp
- 341.6667dp
- 342.8056dp
- 343.9444dp
- 345.0833dp
- 346.2222dp
- 347.3611dp
- 348.5000dp
- 349.6389dp
- 350.7778dp
- 351.9167dp
- 353.0556dp
- 354.1944dp
- 355.3333dp
- 356.4722dp
- 357.6111dp
- 358.7500dp
- 359.8889dp
- 361.0278dp
- 362.1667dp
- 363.3056dp
- 364.4444dp
- 365.5833dp
- 366.7222dp
- 367.8611dp
- 369.0000dp
- 370.1389dp
- 371.2778dp
- 372.4167dp
- 373.5556dp
- 374.6944dp
- 375.8333dp
- 376.9722dp
- 378.1111dp
- 379.2500dp
- 380.3889dp
- 381.5278dp
- 382.6667dp
- 383.8056dp
- 384.9444dp
- 386.0833dp
- 387.2222dp
- 388.3611dp
- 389.5000dp
- 390.6389dp
- 391.7778dp
- 392.9167dp
- 394.0556dp
- 395.1944dp
- 396.3333dp
- 397.4722dp
- 398.6111dp
- 399.7500dp
- 400.8889dp
- 402.0278dp
- 403.1667dp
- 404.3056dp
- 405.4444dp
- 406.5833dp
- 407.7222dp
- 408.8611dp
- 410.0000dp
- 415.6944dp
- 421.3889dp
- 455.5556dp
- 466.9444dp
- 480.6111dp
- 537.5556dp
- 569.4444dp
- 683.3333dp
- 728.8889dp
- 820.0000dp
- 6.8333sp
- 7.9722sp
- 9.1111sp
- 10.2500sp
- 11.3889sp
- 12.5278sp
- 13.6667sp
- 14.8056sp
- 15.9444sp
- 17.0833sp
- 18.2222sp
- 19.3611sp
- 20.5000sp
- 21.6389sp
- 22.7778sp
- 23.9167sp
- 25.0556sp
- 26.1944sp
- 27.3333sp
- 28.4722sp
- 31.8889sp
- 34.1667sp
- 36.4444sp
- 38.7222sp
- 41.0000sp
- 43.2778sp
- 45.5556sp
- 47.8333sp
- 54.6667sp
-
diff --git a/app/src/main/res/values-sw411dp/dimens.xml b/app/src/main/res/values-sw411dp/dimens.xml
deleted file mode 100644
index 4241e41..0000000
--- a/app/src/main/res/values-sw411dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -68.5714dp
- -34.2857dp
- -22.8571dp
- -13.7143dp
- -11.4286dp
- -9.1429dp
- -5.7143dp
- -2.2857dp
- -1.1429dp
- 0.0000dp
- 0.1143dp
- 0.5714dp
- 1.1429dp
- 1.7143dp
- 2.2857dp
- 2.8571dp
- 3.4286dp
- 4.0000dp
- 4.5714dp
- 5.1429dp
- 5.7143dp
- 6.8571dp
- 8.0000dp
- 9.1429dp
- 10.2857dp
- 11.4286dp
- 12.5714dp
- 13.7143dp
- 14.8571dp
- 16.0000dp
- 17.1429dp
- 18.2857dp
- 19.4286dp
- 20.5714dp
- 21.7143dp
- 22.8571dp
- 24.0000dp
- 25.1429dp
- 26.2857dp
- 27.4286dp
- 28.5714dp
- 29.7143dp
- 30.8571dp
- 32.0000dp
- 33.1429dp
- 34.2857dp
- 35.4286dp
- 36.5714dp
- 37.7143dp
- 38.8571dp
- 40.0000dp
- 41.1428dp
- 42.2857dp
- 43.4286dp
- 44.5714dp
- 45.7143dp
- 46.8571dp
- 48.0000dp
- 49.1428dp
- 50.2857dp
- 51.4286dp
- 52.5714dp
- 53.7143dp
- 54.8571dp
- 56.0000dp
- 57.1428dp
- 58.2857dp
- 59.4286dp
- 60.5714dp
- 61.7143dp
- 62.8571dp
- 64.0000dp
- 65.1428dp
- 66.2857dp
- 67.4286dp
- 68.5714dp
- 69.7143dp
- 70.8571dp
- 72.0000dp
- 73.1428dp
- 74.2857dp
- 75.4286dp
- 76.5714dp
- 77.7143dp
- 78.8571dp
- 80.0000dp
- 81.1428dp
- 82.2857dp
- 83.4286dp
- 84.5714dp
- 85.7143dp
- 86.8571dp
- 88.0000dp
- 89.1428dp
- 90.2857dp
- 91.4286dp
- 92.5714dp
- 93.7143dp
- 94.8571dp
- 96.0000dp
- 97.1428dp
- 98.2857dp
- 99.4286dp
- 100.5714dp
- 101.7143dp
- 102.8571dp
- 104.0000dp
- 105.1428dp
- 106.2857dp
- 107.4286dp
- 108.5714dp
- 109.7143dp
- 110.8571dp
- 112.0000dp
- 113.1428dp
- 114.2857dp
- 115.4286dp
- 116.5714dp
- 117.7143dp
- 118.8571dp
- 120.0000dp
- 121.1428dp
- 122.2857dp
- 123.4285dp
- 124.5714dp
- 125.7143dp
- 126.8571dp
- 128.0000dp
- 129.1428dp
- 130.2857dp
- 131.4285dp
- 132.5714dp
- 133.7143dp
- 134.8571dp
- 136.0000dp
- 137.1428dp
- 138.2857dp
- 139.4285dp
- 140.5714dp
- 141.7143dp
- 142.8571dp
- 144.0000dp
- 145.1428dp
- 146.2857dp
- 147.4285dp
- 148.5714dp
- 149.7143dp
- 150.8571dp
- 152.0000dp
- 153.1428dp
- 154.2857dp
- 155.4285dp
- 156.5714dp
- 157.7143dp
- 158.8571dp
- 160.0000dp
- 161.1428dp
- 162.2857dp
- 163.4285dp
- 164.5714dp
- 165.7143dp
- 166.8571dp
- 168.0000dp
- 169.1428dp
- 170.2857dp
- 171.4285dp
- 172.5714dp
- 173.7143dp
- 174.8571dp
- 176.0000dp
- 177.1428dp
- 178.2857dp
- 179.4285dp
- 180.5714dp
- 181.7143dp
- 182.8571dp
- 184.0000dp
- 185.1428dp
- 186.2857dp
- 187.4285dp
- 188.5714dp
- 189.7143dp
- 190.8571dp
- 192.0000dp
- 193.1428dp
- 194.2857dp
- 195.4285dp
- 196.5714dp
- 197.7143dp
- 198.8571dp
- 200.0000dp
- 201.1428dp
- 202.2857dp
- 203.4285dp
- 204.5714dp
- 205.7142dp
- 206.8571dp
- 208.0000dp
- 209.1428dp
- 210.2857dp
- 211.4285dp
- 212.5714dp
- 213.7142dp
- 214.8571dp
- 216.0000dp
- 217.1428dp
- 218.2857dp
- 219.4285dp
- 220.5714dp
- 221.7142dp
- 222.8571dp
- 224.0000dp
- 225.1428dp
- 226.2857dp
- 227.4285dp
- 228.5714dp
- 229.7142dp
- 230.8571dp
- 232.0000dp
- 233.1428dp
- 234.2857dp
- 235.4285dp
- 236.5714dp
- 237.7142dp
- 238.8571dp
- 240.0000dp
- 241.1428dp
- 242.2857dp
- 243.4285dp
- 244.5714dp
- 245.7142dp
- 246.8571dp
- 248.0000dp
- 249.1428dp
- 250.2857dp
- 251.4285dp
- 252.5714dp
- 253.7142dp
- 254.8571dp
- 256.0000dp
- 257.1428dp
- 258.2857dp
- 259.4285dp
- 260.5714dp
- 261.7142dp
- 262.8571dp
- 264.0000dp
- 265.1428dp
- 266.2857dp
- 267.4285dp
- 268.5714dp
- 269.7142dp
- 270.8571dp
- 272.0000dp
- 273.1428dp
- 274.2857dp
- 275.4285dp
- 276.5714dp
- 277.7142dp
- 278.8571dp
- 280.0000dp
- 281.1428dp
- 282.2857dp
- 283.4285dp
- 284.5714dp
- 285.7142dp
- 286.8571dp
- 287.9999dp
- 289.1428dp
- 290.2857dp
- 291.4285dp
- 292.5714dp
- 293.7142dp
- 294.8571dp
- 295.9999dp
- 297.1428dp
- 298.2857dp
- 299.4285dp
- 300.5714dp
- 301.7142dp
- 302.8571dp
- 303.9999dp
- 305.1428dp
- 306.2857dp
- 307.4285dp
- 308.5714dp
- 309.7142dp
- 310.8571dp
- 311.9999dp
- 313.1428dp
- 314.2857dp
- 315.4285dp
- 316.5714dp
- 317.7142dp
- 318.8571dp
- 319.9999dp
- 321.1428dp
- 322.2857dp
- 323.4285dp
- 324.5714dp
- 325.7142dp
- 326.8571dp
- 327.9999dp
- 329.1428dp
- 330.2857dp
- 331.4285dp
- 332.5714dp
- 333.7142dp
- 334.8571dp
- 335.9999dp
- 337.1428dp
- 338.2857dp
- 339.4285dp
- 340.5714dp
- 341.7142dp
- 342.8571dp
- 343.9999dp
- 345.1428dp
- 346.2857dp
- 347.4285dp
- 348.5714dp
- 349.7142dp
- 350.8571dp
- 351.9999dp
- 353.1428dp
- 354.2857dp
- 355.4285dp
- 356.5714dp
- 357.7142dp
- 358.8571dp
- 359.9999dp
- 361.1428dp
- 362.2857dp
- 363.4285dp
- 364.5714dp
- 365.7142dp
- 366.8571dp
- 367.9999dp
- 369.1428dp
- 370.2856dp
- 371.4285dp
- 372.5714dp
- 373.7142dp
- 374.8571dp
- 375.9999dp
- 377.1428dp
- 378.2856dp
- 379.4285dp
- 380.5714dp
- 381.7142dp
- 382.8571dp
- 383.9999dp
- 385.1428dp
- 386.2856dp
- 387.4285dp
- 388.5714dp
- 389.7142dp
- 390.8571dp
- 391.9999dp
- 393.1428dp
- 394.2856dp
- 395.4285dp
- 396.5714dp
- 397.7142dp
- 398.8571dp
- 399.9999dp
- 401.1428dp
- 402.2856dp
- 403.4285dp
- 404.5714dp
- 405.7142dp
- 406.8571dp
- 407.9999dp
- 409.1428dp
- 410.2856dp
- 411.4285dp
- 417.1428dp
- 422.8571dp
- 457.1428dp
- 468.5713dp
- 482.2856dp
- 539.4285dp
- 571.4285dp
- 685.7142dp
- 731.4284dp
- 822.8570dp
- 6.8571sp
- 8.0000sp
- 9.1429sp
- 10.2857sp
- 11.4286sp
- 12.5714sp
- 13.7143sp
- 14.8571sp
- 16.0000sp
- 17.1429sp
- 18.2857sp
- 19.4286sp
- 20.5714sp
- 21.7143sp
- 22.8571sp
- 24.0000sp
- 25.1429sp
- 26.2857sp
- 27.4286sp
- 28.5714sp
- 32.0000sp
- 34.2857sp
- 36.5714sp
- 38.8571sp
- 41.1428sp
- 43.4286sp
- 45.7143sp
- 48.0000sp
- 54.8571sp
-
diff --git a/app/src/main/res/values-sw432dp/dimens.xml b/app/src/main/res/values-sw432dp/dimens.xml
deleted file mode 100644
index 5c42af7..0000000
--- a/app/src/main/res/values-sw432dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -72.0000dp
- -36.0000dp
- -24.0000dp
- -14.4000dp
- -12.0000dp
- -9.6000dp
- -6.0000dp
- -2.4000dp
- -1.2000dp
- 0.0000dp
- 0.1200dp
- 0.6000dp
- 1.2000dp
- 1.8000dp
- 2.4000dp
- 3.0000dp
- 3.6000dp
- 4.2000dp
- 4.8000dp
- 5.4000dp
- 6.0000dp
- 7.2000dp
- 8.4000dp
- 9.6000dp
- 10.8000dp
- 12.0000dp
- 13.2000dp
- 14.4000dp
- 15.6000dp
- 16.8000dp
- 18.0000dp
- 19.2000dp
- 20.4000dp
- 21.6000dp
- 22.8000dp
- 24.0000dp
- 25.2000dp
- 26.4000dp
- 27.6000dp
- 28.8000dp
- 30.0000dp
- 31.2000dp
- 32.4000dp
- 33.6000dp
- 34.8000dp
- 36.0000dp
- 37.2000dp
- 38.4000dp
- 39.6000dp
- 40.8000dp
- 42.0000dp
- 43.2000dp
- 44.4000dp
- 45.6000dp
- 46.8000dp
- 48.0000dp
- 49.2000dp
- 50.4000dp
- 51.6000dp
- 52.8000dp
- 54.0000dp
- 55.2000dp
- 56.4000dp
- 57.6000dp
- 58.8000dp
- 60.0000dp
- 61.2000dp
- 62.4000dp
- 63.6000dp
- 64.8000dp
- 66.0000dp
- 67.2000dp
- 68.4000dp
- 69.6000dp
- 70.8000dp
- 72.0000dp
- 73.2000dp
- 74.4000dp
- 75.6000dp
- 76.8000dp
- 78.0000dp
- 79.2000dp
- 80.4000dp
- 81.6000dp
- 82.8000dp
- 84.0000dp
- 85.2000dp
- 86.4000dp
- 87.6000dp
- 88.8000dp
- 90.0000dp
- 91.2000dp
- 92.4000dp
- 93.6000dp
- 94.8000dp
- 96.0000dp
- 97.2000dp
- 98.4000dp
- 99.6000dp
- 100.8000dp
- 102.0000dp
- 103.2000dp
- 104.4000dp
- 105.6000dp
- 106.8000dp
- 108.0000dp
- 109.2000dp
- 110.4000dp
- 111.6000dp
- 112.8000dp
- 114.0000dp
- 115.2000dp
- 116.4000dp
- 117.6000dp
- 118.8000dp
- 120.0000dp
- 121.2000dp
- 122.4000dp
- 123.6000dp
- 124.8000dp
- 126.0000dp
- 127.2000dp
- 128.4000dp
- 129.6000dp
- 130.8000dp
- 132.0000dp
- 133.2000dp
- 134.4000dp
- 135.6000dp
- 136.8000dp
- 138.0000dp
- 139.2000dp
- 140.4000dp
- 141.6000dp
- 142.8000dp
- 144.0000dp
- 145.2000dp
- 146.4000dp
- 147.6000dp
- 148.8000dp
- 150.0000dp
- 151.2000dp
- 152.4000dp
- 153.6000dp
- 154.8000dp
- 156.0000dp
- 157.2000dp
- 158.4000dp
- 159.6000dp
- 160.8000dp
- 162.0000dp
- 163.2000dp
- 164.4000dp
- 165.6000dp
- 166.8000dp
- 168.0000dp
- 169.2000dp
- 170.4000dp
- 171.6000dp
- 172.8000dp
- 174.0000dp
- 175.2000dp
- 176.4000dp
- 177.6000dp
- 178.8000dp
- 180.0000dp
- 181.2000dp
- 182.4000dp
- 183.6000dp
- 184.8000dp
- 186.0000dp
- 187.2000dp
- 188.4000dp
- 189.6000dp
- 190.8000dp
- 192.0000dp
- 193.2000dp
- 194.4000dp
- 195.6000dp
- 196.8000dp
- 198.0000dp
- 199.2000dp
- 200.4000dp
- 201.6000dp
- 202.8000dp
- 204.0000dp
- 205.2000dp
- 206.4000dp
- 207.6000dp
- 208.8000dp
- 210.0000dp
- 211.2000dp
- 212.4000dp
- 213.6000dp
- 214.8000dp
- 216.0000dp
- 217.2000dp
- 218.4000dp
- 219.6000dp
- 220.8000dp
- 222.0000dp
- 223.2000dp
- 224.4000dp
- 225.6000dp
- 226.8000dp
- 228.0000dp
- 229.2000dp
- 230.4000dp
- 231.6000dp
- 232.8000dp
- 234.0000dp
- 235.2000dp
- 236.4000dp
- 237.6000dp
- 238.8000dp
- 240.0000dp
- 241.2000dp
- 242.4000dp
- 243.6000dp
- 244.8000dp
- 246.0000dp
- 247.2000dp
- 248.4000dp
- 249.6000dp
- 250.8000dp
- 252.0000dp
- 253.2000dp
- 254.4000dp
- 255.6000dp
- 256.8000dp
- 258.0000dp
- 259.2000dp
- 260.4000dp
- 261.6000dp
- 262.8000dp
- 264.0000dp
- 265.2000dp
- 266.4000dp
- 267.6000dp
- 268.8000dp
- 270.0000dp
- 271.2000dp
- 272.4000dp
- 273.6000dp
- 274.8000dp
- 276.0000dp
- 277.2000dp
- 278.4000dp
- 279.6000dp
- 280.8000dp
- 282.0000dp
- 283.2000dp
- 284.4000dp
- 285.6000dp
- 286.8000dp
- 288.0000dp
- 289.2000dp
- 290.4000dp
- 291.6000dp
- 292.8000dp
- 294.0000dp
- 295.2000dp
- 296.4000dp
- 297.6000dp
- 298.8000dp
- 300.0000dp
- 301.2000dp
- 302.4000dp
- 303.6000dp
- 304.8000dp
- 306.0000dp
- 307.2000dp
- 308.4000dp
- 309.6000dp
- 310.8000dp
- 312.0000dp
- 313.2000dp
- 314.4000dp
- 315.6000dp
- 316.8000dp
- 318.0000dp
- 319.2000dp
- 320.4000dp
- 321.6000dp
- 322.8000dp
- 324.0000dp
- 325.2000dp
- 326.4000dp
- 327.6000dp
- 328.8000dp
- 330.0000dp
- 331.2000dp
- 332.4000dp
- 333.6000dp
- 334.8000dp
- 336.0000dp
- 337.2000dp
- 338.4000dp
- 339.6000dp
- 340.8000dp
- 342.0000dp
- 343.2000dp
- 344.4000dp
- 345.6000dp
- 346.8000dp
- 348.0000dp
- 349.2000dp
- 350.4000dp
- 351.6000dp
- 352.8000dp
- 354.0000dp
- 355.2000dp
- 356.4000dp
- 357.6000dp
- 358.8000dp
- 360.0000dp
- 361.2000dp
- 362.4000dp
- 363.6000dp
- 364.8000dp
- 366.0000dp
- 367.2000dp
- 368.4000dp
- 369.6000dp
- 370.8000dp
- 372.0000dp
- 373.2000dp
- 374.4000dp
- 375.6000dp
- 376.8000dp
- 378.0000dp
- 379.2000dp
- 380.4000dp
- 381.6000dp
- 382.8000dp
- 384.0000dp
- 385.2000dp
- 386.4000dp
- 387.6000dp
- 388.8000dp
- 390.0000dp
- 391.2000dp
- 392.4000dp
- 393.6000dp
- 394.8000dp
- 396.0000dp
- 397.2000dp
- 398.4000dp
- 399.6000dp
- 400.8000dp
- 402.0000dp
- 403.2000dp
- 404.4000dp
- 405.6000dp
- 406.8000dp
- 408.0000dp
- 409.2000dp
- 410.4000dp
- 411.6000dp
- 412.8000dp
- 414.0000dp
- 415.2000dp
- 416.4000dp
- 417.6000dp
- 418.8000dp
- 420.0000dp
- 421.2000dp
- 422.4000dp
- 423.6000dp
- 424.8000dp
- 426.0000dp
- 427.2000dp
- 428.4000dp
- 429.6000dp
- 430.8000dp
- 432.0000dp
- 438.0000dp
- 444.0000dp
- 480.0000dp
- 492.0000dp
- 506.4000dp
- 566.4000dp
- 600.0000dp
- 720.0000dp
- 768.0000dp
- 864.0000dp
- 7.2000sp
- 8.4000sp
- 9.6000sp
- 10.8000sp
- 12.0000sp
- 13.2000sp
- 14.4000sp
- 15.6000sp
- 16.8000sp
- 18.0000sp
- 19.2000sp
- 20.4000sp
- 21.6000sp
- 22.8000sp
- 24.0000sp
- 25.2000sp
- 26.4000sp
- 27.6000sp
- 28.8000sp
- 30.0000sp
- 33.6000sp
- 36.0000sp
- 38.4000sp
- 40.8000sp
- 43.2000sp
- 45.6000sp
- 48.0000sp
- 50.4000sp
- 57.6000sp
-
diff --git a/app/src/main/res/values-sw480dp/dimens.xml b/app/src/main/res/values-sw480dp/dimens.xml
deleted file mode 100644
index 484b952..0000000
--- a/app/src/main/res/values-sw480dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -80.0000dp
- -40.0000dp
- -26.6667dp
- -16.0000dp
- -13.3333dp
- -10.6667dp
- -6.6667dp
- -2.6667dp
- -1.3333dp
- 0.0000dp
- 0.1333dp
- 0.6667dp
- 1.3333dp
- 2.0000dp
- 2.6667dp
- 3.3333dp
- 4.0000dp
- 4.6667dp
- 5.3333dp
- 6.0000dp
- 6.6667dp
- 8.0000dp
- 9.3333dp
- 10.6667dp
- 12.0000dp
- 13.3333dp
- 14.6667dp
- 16.0000dp
- 17.3333dp
- 18.6667dp
- 20.0000dp
- 21.3333dp
- 22.6667dp
- 24.0000dp
- 25.3333dp
- 26.6667dp
- 28.0000dp
- 29.3333dp
- 30.6667dp
- 32.0000dp
- 33.3333dp
- 34.6667dp
- 36.0000dp
- 37.3333dp
- 38.6667dp
- 40.0000dp
- 41.3333dp
- 42.6667dp
- 44.0000dp
- 45.3333dp
- 46.6667dp
- 48.0000dp
- 49.3333dp
- 50.6667dp
- 52.0000dp
- 53.3333dp
- 54.6667dp
- 56.0000dp
- 57.3333dp
- 58.6667dp
- 60.0000dp
- 61.3333dp
- 62.6667dp
- 64.0000dp
- 65.3333dp
- 66.6667dp
- 68.0000dp
- 69.3333dp
- 70.6667dp
- 72.0000dp
- 73.3333dp
- 74.6667dp
- 76.0000dp
- 77.3333dp
- 78.6667dp
- 80.0000dp
- 81.3333dp
- 82.6667dp
- 84.0000dp
- 85.3333dp
- 86.6667dp
- 88.0000dp
- 89.3333dp
- 90.6667dp
- 92.0000dp
- 93.3333dp
- 94.6667dp
- 96.0000dp
- 97.3333dp
- 98.6667dp
- 100.0000dp
- 101.3333dp
- 102.6667dp
- 104.0000dp
- 105.3333dp
- 106.6667dp
- 108.0000dp
- 109.3333dp
- 110.6667dp
- 112.0000dp
- 113.3333dp
- 114.6667dp
- 116.0000dp
- 117.3333dp
- 118.6667dp
- 120.0000dp
- 121.3333dp
- 122.6667dp
- 124.0000dp
- 125.3333dp
- 126.6667dp
- 128.0000dp
- 129.3333dp
- 130.6667dp
- 132.0000dp
- 133.3333dp
- 134.6667dp
- 136.0000dp
- 137.3333dp
- 138.6667dp
- 140.0000dp
- 141.3333dp
- 142.6667dp
- 144.0000dp
- 145.3333dp
- 146.6667dp
- 148.0000dp
- 149.3333dp
- 150.6667dp
- 152.0000dp
- 153.3333dp
- 154.6667dp
- 156.0000dp
- 157.3333dp
- 158.6667dp
- 160.0000dp
- 161.3333dp
- 162.6667dp
- 164.0000dp
- 165.3333dp
- 166.6667dp
- 168.0000dp
- 169.3333dp
- 170.6667dp
- 172.0000dp
- 173.3333dp
- 174.6667dp
- 176.0000dp
- 177.3333dp
- 178.6667dp
- 180.0000dp
- 181.3333dp
- 182.6667dp
- 184.0000dp
- 185.3333dp
- 186.6667dp
- 188.0000dp
- 189.3333dp
- 190.6667dp
- 192.0000dp
- 193.3333dp
- 194.6667dp
- 196.0000dp
- 197.3333dp
- 198.6667dp
- 200.0000dp
- 201.3333dp
- 202.6667dp
- 204.0000dp
- 205.3333dp
- 206.6667dp
- 208.0000dp
- 209.3333dp
- 210.6667dp
- 212.0000dp
- 213.3333dp
- 214.6667dp
- 216.0000dp
- 217.3333dp
- 218.6667dp
- 220.0000dp
- 221.3333dp
- 222.6667dp
- 224.0000dp
- 225.3333dp
- 226.6667dp
- 228.0000dp
- 229.3333dp
- 230.6667dp
- 232.0000dp
- 233.3333dp
- 234.6667dp
- 236.0000dp
- 237.3333dp
- 238.6667dp
- 240.0000dp
- 241.3333dp
- 242.6667dp
- 244.0000dp
- 245.3333dp
- 246.6667dp
- 248.0000dp
- 249.3333dp
- 250.6667dp
- 252.0000dp
- 253.3333dp
- 254.6667dp
- 256.0000dp
- 257.3333dp
- 258.6667dp
- 260.0000dp
- 261.3333dp
- 262.6667dp
- 264.0000dp
- 265.3333dp
- 266.6667dp
- 268.0000dp
- 269.3333dp
- 270.6667dp
- 272.0000dp
- 273.3333dp
- 274.6667dp
- 276.0000dp
- 277.3333dp
- 278.6667dp
- 280.0000dp
- 281.3333dp
- 282.6667dp
- 284.0000dp
- 285.3333dp
- 286.6667dp
- 288.0000dp
- 289.3333dp
- 290.6667dp
- 292.0000dp
- 293.3333dp
- 294.6667dp
- 296.0000dp
- 297.3333dp
- 298.6667dp
- 300.0000dp
- 301.3333dp
- 302.6667dp
- 304.0000dp
- 305.3333dp
- 306.6667dp
- 308.0000dp
- 309.3333dp
- 310.6667dp
- 312.0000dp
- 313.3333dp
- 314.6667dp
- 316.0000dp
- 317.3333dp
- 318.6667dp
- 320.0000dp
- 321.3333dp
- 322.6667dp
- 324.0000dp
- 325.3333dp
- 326.6667dp
- 328.0000dp
- 329.3333dp
- 330.6667dp
- 332.0000dp
- 333.3333dp
- 334.6667dp
- 336.0000dp
- 337.3333dp
- 338.6667dp
- 340.0000dp
- 341.3333dp
- 342.6667dp
- 344.0000dp
- 345.3333dp
- 346.6667dp
- 348.0000dp
- 349.3333dp
- 350.6667dp
- 352.0000dp
- 353.3333dp
- 354.6667dp
- 356.0000dp
- 357.3333dp
- 358.6667dp
- 360.0000dp
- 361.3333dp
- 362.6667dp
- 364.0000dp
- 365.3333dp
- 366.6667dp
- 368.0000dp
- 369.3333dp
- 370.6667dp
- 372.0000dp
- 373.3333dp
- 374.6667dp
- 376.0000dp
- 377.3333dp
- 378.6667dp
- 380.0000dp
- 381.3333dp
- 382.6667dp
- 384.0000dp
- 385.3333dp
- 386.6667dp
- 388.0000dp
- 389.3333dp
- 390.6667dp
- 392.0000dp
- 393.3333dp
- 394.6667dp
- 396.0000dp
- 397.3333dp
- 398.6667dp
- 400.0000dp
- 401.3333dp
- 402.6667dp
- 404.0000dp
- 405.3333dp
- 406.6667dp
- 408.0000dp
- 409.3333dp
- 410.6667dp
- 412.0000dp
- 413.3333dp
- 414.6667dp
- 416.0000dp
- 417.3333dp
- 418.6667dp
- 420.0000dp
- 421.3333dp
- 422.6667dp
- 424.0000dp
- 425.3333dp
- 426.6667dp
- 428.0000dp
- 429.3333dp
- 430.6667dp
- 432.0000dp
- 433.3333dp
- 434.6667dp
- 436.0000dp
- 437.3333dp
- 438.6667dp
- 440.0000dp
- 441.3333dp
- 442.6667dp
- 444.0000dp
- 445.3333dp
- 446.6667dp
- 448.0000dp
- 449.3333dp
- 450.6667dp
- 452.0000dp
- 453.3333dp
- 454.6667dp
- 456.0000dp
- 457.3333dp
- 458.6667dp
- 460.0000dp
- 461.3333dp
- 462.6667dp
- 464.0000dp
- 465.3333dp
- 466.6667dp
- 468.0000dp
- 469.3333dp
- 470.6667dp
- 472.0000dp
- 473.3333dp
- 474.6667dp
- 476.0000dp
- 477.3333dp
- 478.6667dp
- 480.0000dp
- 486.6667dp
- 493.3333dp
- 533.3333dp
- 546.6667dp
- 562.6667dp
- 629.3333dp
- 666.6667dp
- 800.0000dp
- 853.3333dp
- 960.0000dp
- 8.0000sp
- 9.3333sp
- 10.6667sp
- 12.0000sp
- 13.3333sp
- 14.6667sp
- 16.0000sp
- 17.3333sp
- 18.6667sp
- 20.0000sp
- 21.3333sp
- 22.6667sp
- 24.0000sp
- 25.3333sp
- 26.6667sp
- 28.0000sp
- 29.3333sp
- 30.6667sp
- 32.0000sp
- 33.3333sp
- 37.3333sp
- 40.0000sp
- 42.6667sp
- 45.3333sp
- 48.0000sp
- 50.6667sp
- 53.3333sp
- 56.0000sp
- 64.0000sp
-
diff --git a/app/src/main/res/values-sw533dp/dimens.xml b/app/src/main/res/values-sw533dp/dimens.xml
deleted file mode 100644
index 684927b..0000000
--- a/app/src/main/res/values-sw533dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -88.8333dp
- -44.4167dp
- -29.6111dp
- -17.7667dp
- -14.8056dp
- -11.8444dp
- -7.4028dp
- -2.9611dp
- -1.4806dp
- 0.0000dp
- 0.1481dp
- 0.7403dp
- 1.4806dp
- 2.2208dp
- 2.9611dp
- 3.7014dp
- 4.4417dp
- 5.1819dp
- 5.9222dp
- 6.6625dp
- 7.4028dp
- 8.8833dp
- 10.3639dp
- 11.8444dp
- 13.3250dp
- 14.8056dp
- 16.2861dp
- 17.7667dp
- 19.2472dp
- 20.7278dp
- 22.2083dp
- 23.6889dp
- 25.1694dp
- 26.6500dp
- 28.1306dp
- 29.6111dp
- 31.0917dp
- 32.5722dp
- 34.0528dp
- 35.5333dp
- 37.0139dp
- 38.4944dp
- 39.9750dp
- 41.4556dp
- 42.9361dp
- 44.4167dp
- 45.8972dp
- 47.3778dp
- 48.8583dp
- 50.3389dp
- 51.8194dp
- 53.3000dp
- 54.7806dp
- 56.2611dp
- 57.7417dp
- 59.2222dp
- 60.7028dp
- 62.1833dp
- 63.6639dp
- 65.1444dp
- 66.6250dp
- 68.1056dp
- 69.5861dp
- 71.0667dp
- 72.5472dp
- 74.0278dp
- 75.5083dp
- 76.9889dp
- 78.4694dp
- 79.9500dp
- 81.4306dp
- 82.9111dp
- 84.3917dp
- 85.8722dp
- 87.3528dp
- 88.8333dp
- 90.3139dp
- 91.7944dp
- 93.2750dp
- 94.7556dp
- 96.2361dp
- 97.7167dp
- 99.1972dp
- 100.6778dp
- 102.1583dp
- 103.6389dp
- 105.1194dp
- 106.6000dp
- 108.0806dp
- 109.5611dp
- 111.0417dp
- 112.5222dp
- 114.0028dp
- 115.4833dp
- 116.9639dp
- 118.4444dp
- 119.9250dp
- 121.4056dp
- 122.8861dp
- 124.3667dp
- 125.8472dp
- 127.3278dp
- 128.8083dp
- 130.2889dp
- 131.7694dp
- 133.2500dp
- 134.7306dp
- 136.2111dp
- 137.6917dp
- 139.1722dp
- 140.6528dp
- 142.1333dp
- 143.6139dp
- 145.0944dp
- 146.5750dp
- 148.0556dp
- 149.5361dp
- 151.0167dp
- 152.4972dp
- 153.9778dp
- 155.4583dp
- 156.9389dp
- 158.4194dp
- 159.9000dp
- 161.3806dp
- 162.8611dp
- 164.3417dp
- 165.8222dp
- 167.3028dp
- 168.7833dp
- 170.2639dp
- 171.7444dp
- 173.2250dp
- 174.7056dp
- 176.1861dp
- 177.6667dp
- 179.1472dp
- 180.6278dp
- 182.1083dp
- 183.5889dp
- 185.0694dp
- 186.5500dp
- 188.0306dp
- 189.5111dp
- 190.9917dp
- 192.4722dp
- 193.9528dp
- 195.4333dp
- 196.9139dp
- 198.3944dp
- 199.8750dp
- 201.3556dp
- 202.8361dp
- 204.3167dp
- 205.7972dp
- 207.2778dp
- 208.7583dp
- 210.2389dp
- 211.7194dp
- 213.2000dp
- 214.6806dp
- 216.1611dp
- 217.6417dp
- 219.1222dp
- 220.6028dp
- 222.0833dp
- 223.5639dp
- 225.0444dp
- 226.5250dp
- 228.0056dp
- 229.4861dp
- 230.9667dp
- 232.4472dp
- 233.9278dp
- 235.4083dp
- 236.8889dp
- 238.3694dp
- 239.8500dp
- 241.3306dp
- 242.8111dp
- 244.2917dp
- 245.7722dp
- 247.2528dp
- 248.7333dp
- 250.2139dp
- 251.6944dp
- 253.1750dp
- 254.6556dp
- 256.1361dp
- 257.6167dp
- 259.0972dp
- 260.5778dp
- 262.0583dp
- 263.5389dp
- 265.0194dp
- 266.5000dp
- 267.9806dp
- 269.4611dp
- 270.9417dp
- 272.4222dp
- 273.9028dp
- 275.3833dp
- 276.8639dp
- 278.3444dp
- 279.8250dp
- 281.3056dp
- 282.7861dp
- 284.2667dp
- 285.7472dp
- 287.2278dp
- 288.7083dp
- 290.1889dp
- 291.6694dp
- 293.1500dp
- 294.6306dp
- 296.1111dp
- 297.5917dp
- 299.0722dp
- 300.5528dp
- 302.0333dp
- 303.5139dp
- 304.9944dp
- 306.4750dp
- 307.9556dp
- 309.4361dp
- 310.9167dp
- 312.3972dp
- 313.8778dp
- 315.3583dp
- 316.8389dp
- 318.3194dp
- 319.8000dp
- 321.2806dp
- 322.7611dp
- 324.2417dp
- 325.7222dp
- 327.2028dp
- 328.6833dp
- 330.1639dp
- 331.6444dp
- 333.1250dp
- 334.6056dp
- 336.0861dp
- 337.5667dp
- 339.0472dp
- 340.5278dp
- 342.0083dp
- 343.4889dp
- 344.9694dp
- 346.4500dp
- 347.9306dp
- 349.4111dp
- 350.8917dp
- 352.3722dp
- 353.8528dp
- 355.3333dp
- 356.8139dp
- 358.2944dp
- 359.7750dp
- 361.2556dp
- 362.7361dp
- 364.2167dp
- 365.6972dp
- 367.1778dp
- 368.6583dp
- 370.1389dp
- 371.6194dp
- 373.1000dp
- 374.5806dp
- 376.0611dp
- 377.5417dp
- 379.0222dp
- 380.5028dp
- 381.9833dp
- 383.4639dp
- 384.9444dp
- 386.4250dp
- 387.9056dp
- 389.3861dp
- 390.8667dp
- 392.3472dp
- 393.8278dp
- 395.3083dp
- 396.7889dp
- 398.2694dp
- 399.7500dp
- 401.2306dp
- 402.7111dp
- 404.1917dp
- 405.6722dp
- 407.1528dp
- 408.6333dp
- 410.1139dp
- 411.5944dp
- 413.0750dp
- 414.5556dp
- 416.0361dp
- 417.5167dp
- 418.9972dp
- 420.4778dp
- 421.9583dp
- 423.4389dp
- 424.9194dp
- 426.4000dp
- 427.8806dp
- 429.3611dp
- 430.8417dp
- 432.3222dp
- 433.8028dp
- 435.2833dp
- 436.7639dp
- 438.2444dp
- 439.7250dp
- 441.2056dp
- 442.6861dp
- 444.1667dp
- 445.6472dp
- 447.1278dp
- 448.6083dp
- 450.0889dp
- 451.5694dp
- 453.0500dp
- 454.5306dp
- 456.0111dp
- 457.4917dp
- 458.9722dp
- 460.4528dp
- 461.9333dp
- 463.4139dp
- 464.8944dp
- 466.3750dp
- 467.8556dp
- 469.3361dp
- 470.8167dp
- 472.2972dp
- 473.7778dp
- 475.2583dp
- 476.7389dp
- 478.2194dp
- 479.7000dp
- 481.1806dp
- 482.6611dp
- 484.1417dp
- 485.6222dp
- 487.1028dp
- 488.5833dp
- 490.0639dp
- 491.5444dp
- 493.0250dp
- 494.5056dp
- 495.9861dp
- 497.4667dp
- 498.9472dp
- 500.4278dp
- 501.9083dp
- 503.3889dp
- 504.8694dp
- 506.3500dp
- 507.8306dp
- 509.3111dp
- 510.7917dp
- 512.2722dp
- 513.7528dp
- 515.2333dp
- 516.7139dp
- 518.1944dp
- 519.6750dp
- 521.1556dp
- 522.6361dp
- 524.1167dp
- 525.5972dp
- 527.0778dp
- 528.5583dp
- 530.0389dp
- 531.5194dp
- 533.0000dp
- 540.4028dp
- 547.8056dp
- 592.2222dp
- 607.0278dp
- 624.7944dp
- 698.8222dp
- 740.2778dp
- 888.3333dp
- 947.5556dp
- 1066.0000dp
- 8.8833sp
- 10.3639sp
- 11.8444sp
- 13.3250sp
- 14.8056sp
- 16.2861sp
- 17.7667sp
- 19.2472sp
- 20.7278sp
- 22.2083sp
- 23.6889sp
- 25.1694sp
- 26.6500sp
- 28.1306sp
- 29.6111sp
- 31.0917sp
- 32.5722sp
- 34.0528sp
- 35.5333sp
- 37.0139sp
- 41.4556sp
- 44.4167sp
- 47.3778sp
- 50.3389sp
- 53.3000sp
- 56.2611sp
- 59.2222sp
- 62.1833sp
- 71.0667sp
-
diff --git a/app/src/main/res/values-sw592dp/dimens.xml b/app/src/main/res/values-sw592dp/dimens.xml
deleted file mode 100644
index dd4830e..0000000
--- a/app/src/main/res/values-sw592dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -98.6667dp
- -49.3333dp
- -32.8889dp
- -19.7333dp
- -16.4444dp
- -13.1556dp
- -8.2222dp
- -3.2889dp
- -1.6444dp
- 0.0000dp
- 0.1644dp
- 0.8222dp
- 1.6444dp
- 2.4667dp
- 3.2889dp
- 4.1111dp
- 4.9333dp
- 5.7556dp
- 6.5778dp
- 7.4000dp
- 8.2222dp
- 9.8667dp
- 11.5111dp
- 13.1556dp
- 14.8000dp
- 16.4444dp
- 18.0889dp
- 19.7333dp
- 21.3778dp
- 23.0222dp
- 24.6667dp
- 26.3111dp
- 27.9556dp
- 29.6000dp
- 31.2444dp
- 32.8889dp
- 34.5333dp
- 36.1778dp
- 37.8222dp
- 39.4667dp
- 41.1111dp
- 42.7556dp
- 44.4000dp
- 46.0444dp
- 47.6889dp
- 49.3333dp
- 50.9778dp
- 52.6222dp
- 54.2667dp
- 55.9111dp
- 57.5556dp
- 59.2000dp
- 60.8444dp
- 62.4889dp
- 64.1333dp
- 65.7778dp
- 67.4222dp
- 69.0667dp
- 70.7111dp
- 72.3556dp
- 74.0000dp
- 75.6444dp
- 77.2889dp
- 78.9333dp
- 80.5778dp
- 82.2222dp
- 83.8667dp
- 85.5111dp
- 87.1556dp
- 88.8000dp
- 90.4444dp
- 92.0889dp
- 93.7333dp
- 95.3778dp
- 97.0222dp
- 98.6667dp
- 100.3111dp
- 101.9556dp
- 103.6000dp
- 105.2444dp
- 106.8889dp
- 108.5333dp
- 110.1778dp
- 111.8222dp
- 113.4667dp
- 115.1111dp
- 116.7556dp
- 118.4000dp
- 120.0444dp
- 121.6889dp
- 123.3333dp
- 124.9778dp
- 126.6222dp
- 128.2667dp
- 129.9111dp
- 131.5556dp
- 133.2000dp
- 134.8444dp
- 136.4889dp
- 138.1333dp
- 139.7778dp
- 141.4222dp
- 143.0667dp
- 144.7111dp
- 146.3556dp
- 148.0000dp
- 149.6444dp
- 151.2889dp
- 152.9333dp
- 154.5778dp
- 156.2222dp
- 157.8667dp
- 159.5111dp
- 161.1556dp
- 162.8000dp
- 164.4444dp
- 166.0889dp
- 167.7333dp
- 169.3778dp
- 171.0222dp
- 172.6667dp
- 174.3111dp
- 175.9556dp
- 177.6000dp
- 179.2444dp
- 180.8889dp
- 182.5333dp
- 184.1778dp
- 185.8222dp
- 187.4667dp
- 189.1111dp
- 190.7556dp
- 192.4000dp
- 194.0444dp
- 195.6889dp
- 197.3333dp
- 198.9778dp
- 200.6222dp
- 202.2667dp
- 203.9111dp
- 205.5556dp
- 207.2000dp
- 208.8444dp
- 210.4889dp
- 212.1333dp
- 213.7778dp
- 215.4222dp
- 217.0667dp
- 218.7111dp
- 220.3556dp
- 222.0000dp
- 223.6444dp
- 225.2889dp
- 226.9333dp
- 228.5778dp
- 230.2222dp
- 231.8667dp
- 233.5111dp
- 235.1556dp
- 236.8000dp
- 238.4444dp
- 240.0889dp
- 241.7333dp
- 243.3778dp
- 245.0222dp
- 246.6667dp
- 248.3111dp
- 249.9556dp
- 251.6000dp
- 253.2444dp
- 254.8889dp
- 256.5333dp
- 258.1778dp
- 259.8222dp
- 261.4667dp
- 263.1111dp
- 264.7556dp
- 266.4000dp
- 268.0444dp
- 269.6889dp
- 271.3333dp
- 272.9778dp
- 274.6222dp
- 276.2667dp
- 277.9111dp
- 279.5556dp
- 281.2000dp
- 282.8444dp
- 284.4889dp
- 286.1333dp
- 287.7778dp
- 289.4222dp
- 291.0667dp
- 292.7111dp
- 294.3556dp
- 296.0000dp
- 297.6444dp
- 299.2889dp
- 300.9333dp
- 302.5778dp
- 304.2222dp
- 305.8667dp
- 307.5111dp
- 309.1556dp
- 310.8000dp
- 312.4444dp
- 314.0889dp
- 315.7333dp
- 317.3778dp
- 319.0222dp
- 320.6667dp
- 322.3111dp
- 323.9556dp
- 325.6000dp
- 327.2444dp
- 328.8889dp
- 330.5333dp
- 332.1778dp
- 333.8222dp
- 335.4667dp
- 337.1111dp
- 338.7556dp
- 340.4000dp
- 342.0444dp
- 343.6889dp
- 345.3333dp
- 346.9778dp
- 348.6222dp
- 350.2667dp
- 351.9111dp
- 353.5556dp
- 355.2000dp
- 356.8444dp
- 358.4889dp
- 360.1333dp
- 361.7778dp
- 363.4222dp
- 365.0667dp
- 366.7111dp
- 368.3556dp
- 370.0000dp
- 371.6444dp
- 373.2889dp
- 374.9333dp
- 376.5778dp
- 378.2222dp
- 379.8667dp
- 381.5111dp
- 383.1556dp
- 384.8000dp
- 386.4444dp
- 388.0889dp
- 389.7333dp
- 391.3778dp
- 393.0222dp
- 394.6667dp
- 396.3111dp
- 397.9556dp
- 399.6000dp
- 401.2444dp
- 402.8889dp
- 404.5333dp
- 406.1778dp
- 407.8222dp
- 409.4667dp
- 411.1111dp
- 412.7556dp
- 414.4000dp
- 416.0444dp
- 417.6889dp
- 419.3333dp
- 420.9778dp
- 422.6222dp
- 424.2667dp
- 425.9111dp
- 427.5556dp
- 429.2000dp
- 430.8444dp
- 432.4889dp
- 434.1333dp
- 435.7778dp
- 437.4222dp
- 439.0667dp
- 440.7111dp
- 442.3556dp
- 444.0000dp
- 445.6444dp
- 447.2889dp
- 448.9333dp
- 450.5778dp
- 452.2222dp
- 453.8667dp
- 455.5111dp
- 457.1556dp
- 458.8000dp
- 460.4444dp
- 462.0889dp
- 463.7333dp
- 465.3778dp
- 467.0222dp
- 468.6667dp
- 470.3111dp
- 471.9556dp
- 473.6000dp
- 475.2444dp
- 476.8889dp
- 478.5333dp
- 480.1778dp
- 481.8222dp
- 483.4667dp
- 485.1111dp
- 486.7556dp
- 488.4000dp
- 490.0444dp
- 491.6889dp
- 493.3333dp
- 494.9778dp
- 496.6222dp
- 498.2667dp
- 499.9111dp
- 501.5556dp
- 503.2000dp
- 504.8444dp
- 506.4889dp
- 508.1333dp
- 509.7778dp
- 511.4222dp
- 513.0667dp
- 514.7111dp
- 516.3556dp
- 518.0000dp
- 519.6444dp
- 521.2889dp
- 522.9333dp
- 524.5778dp
- 526.2222dp
- 527.8667dp
- 529.5111dp
- 531.1556dp
- 532.8000dp
- 534.4444dp
- 536.0889dp
- 537.7333dp
- 539.3778dp
- 541.0222dp
- 542.6667dp
- 544.3111dp
- 545.9556dp
- 547.6000dp
- 549.2444dp
- 550.8889dp
- 552.5333dp
- 554.1778dp
- 555.8222dp
- 557.4667dp
- 559.1111dp
- 560.7556dp
- 562.4000dp
- 564.0444dp
- 565.6889dp
- 567.3333dp
- 568.9778dp
- 570.6222dp
- 572.2667dp
- 573.9111dp
- 575.5556dp
- 577.2000dp
- 578.8444dp
- 580.4889dp
- 582.1333dp
- 583.7778dp
- 585.4222dp
- 587.0667dp
- 588.7111dp
- 590.3556dp
- 592.0000dp
- 600.2222dp
- 608.4444dp
- 657.7778dp
- 674.2222dp
- 693.9556dp
- 776.1778dp
- 822.2222dp
- 986.6667dp
- 1052.4444dp
- 1184.0000dp
- 9.8667sp
- 11.5111sp
- 13.1556sp
- 14.8000sp
- 16.4444sp
- 18.0889sp
- 19.7333sp
- 21.3778sp
- 23.0222sp
- 24.6667sp
- 26.3111sp
- 27.9556sp
- 29.6000sp
- 31.2444sp
- 32.8889sp
- 34.5333sp
- 36.1778sp
- 37.8222sp
- 39.4667sp
- 41.1111sp
- 46.0444sp
- 49.3333sp
- 52.6222sp
- 55.9111sp
- 59.2000sp
- 62.4889sp
- 65.7778sp
- 69.0667sp
- 78.9333sp
-
diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml
deleted file mode 100644
index aa7fe0d..0000000
--- a/app/src/main/res/values-sw600dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -100.0000dp
- -50.0000dp
- -33.3333dp
- -20.0000dp
- -16.6667dp
- -13.3333dp
- -8.3333dp
- -3.3333dp
- -1.6667dp
- 0.0000dp
- 0.1667dp
- 0.8333dp
- 1.6667dp
- 2.5000dp
- 3.3333dp
- 4.1667dp
- 5.0000dp
- 5.8333dp
- 6.6667dp
- 7.5000dp
- 8.3333dp
- 10.0000dp
- 11.6667dp
- 13.3333dp
- 15.0000dp
- 16.6667dp
- 18.3333dp
- 20.0000dp
- 21.6667dp
- 23.3333dp
- 25.0000dp
- 26.6667dp
- 28.3333dp
- 30.0000dp
- 31.6667dp
- 33.3333dp
- 35.0000dp
- 36.6667dp
- 38.3333dp
- 40.0000dp
- 41.6667dp
- 43.3333dp
- 45.0000dp
- 46.6667dp
- 48.3333dp
- 50.0000dp
- 51.6667dp
- 53.3333dp
- 55.0000dp
- 56.6667dp
- 58.3333dp
- 60.0000dp
- 61.6667dp
- 63.3333dp
- 65.0000dp
- 66.6667dp
- 68.3333dp
- 70.0000dp
- 71.6667dp
- 73.3333dp
- 75.0000dp
- 76.6667dp
- 78.3333dp
- 80.0000dp
- 81.6667dp
- 83.3333dp
- 85.0000dp
- 86.6667dp
- 88.3333dp
- 90.0000dp
- 91.6667dp
- 93.3333dp
- 95.0000dp
- 96.6667dp
- 98.3333dp
- 100.0000dp
- 101.6667dp
- 103.3333dp
- 105.0000dp
- 106.6667dp
- 108.3333dp
- 110.0000dp
- 111.6667dp
- 113.3333dp
- 115.0000dp
- 116.6667dp
- 118.3333dp
- 120.0000dp
- 121.6667dp
- 123.3333dp
- 125.0000dp
- 126.6667dp
- 128.3333dp
- 130.0000dp
- 131.6667dp
- 133.3333dp
- 135.0000dp
- 136.6667dp
- 138.3333dp
- 140.0000dp
- 141.6667dp
- 143.3333dp
- 145.0000dp
- 146.6667dp
- 148.3333dp
- 150.0000dp
- 151.6667dp
- 153.3333dp
- 155.0000dp
- 156.6667dp
- 158.3333dp
- 160.0000dp
- 161.6667dp
- 163.3333dp
- 165.0000dp
- 166.6667dp
- 168.3333dp
- 170.0000dp
- 171.6667dp
- 173.3333dp
- 175.0000dp
- 176.6667dp
- 178.3333dp
- 180.0000dp
- 181.6667dp
- 183.3333dp
- 185.0000dp
- 186.6667dp
- 188.3333dp
- 190.0000dp
- 191.6667dp
- 193.3333dp
- 195.0000dp
- 196.6667dp
- 198.3333dp
- 200.0000dp
- 201.6667dp
- 203.3333dp
- 205.0000dp
- 206.6667dp
- 208.3333dp
- 210.0000dp
- 211.6667dp
- 213.3333dp
- 215.0000dp
- 216.6667dp
- 218.3333dp
- 220.0000dp
- 221.6667dp
- 223.3333dp
- 225.0000dp
- 226.6667dp
- 228.3333dp
- 230.0000dp
- 231.6667dp
- 233.3333dp
- 235.0000dp
- 236.6667dp
- 238.3333dp
- 240.0000dp
- 241.6667dp
- 243.3333dp
- 245.0000dp
- 246.6667dp
- 248.3333dp
- 250.0000dp
- 251.6667dp
- 253.3333dp
- 255.0000dp
- 256.6667dp
- 258.3333dp
- 260.0000dp
- 261.6667dp
- 263.3333dp
- 265.0000dp
- 266.6667dp
- 268.3333dp
- 270.0000dp
- 271.6667dp
- 273.3333dp
- 275.0000dp
- 276.6667dp
- 278.3333dp
- 280.0000dp
- 281.6667dp
- 283.3333dp
- 285.0000dp
- 286.6667dp
- 288.3333dp
- 290.0000dp
- 291.6667dp
- 293.3333dp
- 295.0000dp
- 296.6667dp
- 298.3333dp
- 300.0000dp
- 301.6667dp
- 303.3333dp
- 305.0000dp
- 306.6667dp
- 308.3333dp
- 310.0000dp
- 311.6667dp
- 313.3333dp
- 315.0000dp
- 316.6667dp
- 318.3333dp
- 320.0000dp
- 321.6667dp
- 323.3333dp
- 325.0000dp
- 326.6667dp
- 328.3333dp
- 330.0000dp
- 331.6667dp
- 333.3333dp
- 335.0000dp
- 336.6667dp
- 338.3333dp
- 340.0000dp
- 341.6667dp
- 343.3333dp
- 345.0000dp
- 346.6667dp
- 348.3333dp
- 350.0000dp
- 351.6667dp
- 353.3333dp
- 355.0000dp
- 356.6667dp
- 358.3333dp
- 360.0000dp
- 361.6667dp
- 363.3333dp
- 365.0000dp
- 366.6667dp
- 368.3333dp
- 370.0000dp
- 371.6667dp
- 373.3333dp
- 375.0000dp
- 376.6667dp
- 378.3333dp
- 380.0000dp
- 381.6667dp
- 383.3333dp
- 385.0000dp
- 386.6667dp
- 388.3333dp
- 390.0000dp
- 391.6667dp
- 393.3333dp
- 395.0000dp
- 396.6667dp
- 398.3333dp
- 400.0000dp
- 401.6667dp
- 403.3333dp
- 405.0000dp
- 406.6667dp
- 408.3333dp
- 410.0000dp
- 411.6667dp
- 413.3333dp
- 415.0000dp
- 416.6667dp
- 418.3333dp
- 420.0000dp
- 421.6667dp
- 423.3333dp
- 425.0000dp
- 426.6667dp
- 428.3333dp
- 430.0000dp
- 431.6667dp
- 433.3333dp
- 435.0000dp
- 436.6667dp
- 438.3333dp
- 440.0000dp
- 441.6667dp
- 443.3333dp
- 445.0000dp
- 446.6667dp
- 448.3333dp
- 450.0000dp
- 451.6667dp
- 453.3333dp
- 455.0000dp
- 456.6667dp
- 458.3333dp
- 460.0000dp
- 461.6667dp
- 463.3333dp
- 465.0000dp
- 466.6667dp
- 468.3333dp
- 470.0000dp
- 471.6667dp
- 473.3333dp
- 475.0000dp
- 476.6667dp
- 478.3333dp
- 480.0000dp
- 481.6667dp
- 483.3333dp
- 485.0000dp
- 486.6667dp
- 488.3333dp
- 490.0000dp
- 491.6667dp
- 493.3333dp
- 495.0000dp
- 496.6667dp
- 498.3333dp
- 500.0000dp
- 501.6667dp
- 503.3333dp
- 505.0000dp
- 506.6667dp
- 508.3333dp
- 510.0000dp
- 511.6667dp
- 513.3333dp
- 515.0000dp
- 516.6667dp
- 518.3333dp
- 520.0000dp
- 521.6667dp
- 523.3333dp
- 525.0000dp
- 526.6667dp
- 528.3333dp
- 530.0000dp
- 531.6667dp
- 533.3333dp
- 535.0000dp
- 536.6667dp
- 538.3333dp
- 540.0000dp
- 541.6667dp
- 543.3333dp
- 545.0000dp
- 546.6667dp
- 548.3333dp
- 550.0000dp
- 551.6667dp
- 553.3333dp
- 555.0000dp
- 556.6667dp
- 558.3333dp
- 560.0000dp
- 561.6667dp
- 563.3333dp
- 565.0000dp
- 566.6667dp
- 568.3333dp
- 570.0000dp
- 571.6667dp
- 573.3333dp
- 575.0000dp
- 576.6667dp
- 578.3333dp
- 580.0000dp
- 581.6667dp
- 583.3333dp
- 585.0000dp
- 586.6667dp
- 588.3333dp
- 590.0000dp
- 591.6667dp
- 593.3333dp
- 595.0000dp
- 596.6667dp
- 598.3333dp
- 600.0000dp
- 608.3333dp
- 616.6667dp
- 666.6667dp
- 683.3333dp
- 703.3333dp
- 786.6667dp
- 833.3333dp
- 1000.0000dp
- 1066.6667dp
- 1200.0000dp
- 10.0000sp
- 11.6667sp
- 13.3333sp
- 15.0000sp
- 16.6667sp
- 18.3333sp
- 20.0000sp
- 21.6667sp
- 23.3333sp
- 25.0000sp
- 26.6667sp
- 28.3333sp
- 30.0000sp
- 31.6667sp
- 33.3333sp
- 35.0000sp
- 36.6667sp
- 38.3333sp
- 40.0000sp
- 41.6667sp
- 46.6667sp
- 50.0000sp
- 53.3333sp
- 56.6667sp
- 60.0000sp
- 63.3333sp
- 66.6667sp
- 70.0000sp
- 80.0000sp
-
diff --git a/app/src/main/res/values-sw640dp/dimens.xml b/app/src/main/res/values-sw640dp/dimens.xml
deleted file mode 100644
index 2ae3b80..0000000
--- a/app/src/main/res/values-sw640dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -106.6667dp
- -53.3333dp
- -35.5556dp
- -21.3333dp
- -17.7778dp
- -14.2222dp
- -8.8889dp
- -3.5556dp
- -1.7778dp
- 0.0000dp
- 0.1778dp
- 0.8889dp
- 1.7778dp
- 2.6667dp
- 3.5556dp
- 4.4444dp
- 5.3333dp
- 6.2222dp
- 7.1111dp
- 8.0000dp
- 8.8889dp
- 10.6667dp
- 12.4444dp
- 14.2222dp
- 16.0000dp
- 17.7778dp
- 19.5556dp
- 21.3333dp
- 23.1111dp
- 24.8889dp
- 26.6667dp
- 28.4444dp
- 30.2222dp
- 32.0000dp
- 33.7778dp
- 35.5556dp
- 37.3333dp
- 39.1111dp
- 40.8889dp
- 42.6667dp
- 44.4444dp
- 46.2222dp
- 48.0000dp
- 49.7778dp
- 51.5556dp
- 53.3333dp
- 55.1111dp
- 56.8889dp
- 58.6667dp
- 60.4444dp
- 62.2222dp
- 64.0000dp
- 65.7778dp
- 67.5556dp
- 69.3333dp
- 71.1111dp
- 72.8889dp
- 74.6667dp
- 76.4444dp
- 78.2222dp
- 80.0000dp
- 81.7778dp
- 83.5556dp
- 85.3333dp
- 87.1111dp
- 88.8889dp
- 90.6667dp
- 92.4444dp
- 94.2222dp
- 96.0000dp
- 97.7778dp
- 99.5556dp
- 101.3333dp
- 103.1111dp
- 104.8889dp
- 106.6667dp
- 108.4444dp
- 110.2222dp
- 112.0000dp
- 113.7778dp
- 115.5556dp
- 117.3333dp
- 119.1111dp
- 120.8889dp
- 122.6667dp
- 124.4444dp
- 126.2222dp
- 128.0000dp
- 129.7778dp
- 131.5556dp
- 133.3333dp
- 135.1111dp
- 136.8889dp
- 138.6667dp
- 140.4444dp
- 142.2222dp
- 144.0000dp
- 145.7778dp
- 147.5556dp
- 149.3333dp
- 151.1111dp
- 152.8889dp
- 154.6667dp
- 156.4444dp
- 158.2222dp
- 160.0000dp
- 161.7778dp
- 163.5556dp
- 165.3333dp
- 167.1111dp
- 168.8889dp
- 170.6667dp
- 172.4444dp
- 174.2222dp
- 176.0000dp
- 177.7778dp
- 179.5556dp
- 181.3333dp
- 183.1111dp
- 184.8889dp
- 186.6667dp
- 188.4444dp
- 190.2222dp
- 192.0000dp
- 193.7778dp
- 195.5556dp
- 197.3333dp
- 199.1111dp
- 200.8889dp
- 202.6667dp
- 204.4444dp
- 206.2222dp
- 208.0000dp
- 209.7778dp
- 211.5556dp
- 213.3333dp
- 215.1111dp
- 216.8889dp
- 218.6667dp
- 220.4444dp
- 222.2222dp
- 224.0000dp
- 225.7778dp
- 227.5556dp
- 229.3333dp
- 231.1111dp
- 232.8889dp
- 234.6667dp
- 236.4444dp
- 238.2222dp
- 240.0000dp
- 241.7778dp
- 243.5556dp
- 245.3333dp
- 247.1111dp
- 248.8889dp
- 250.6667dp
- 252.4444dp
- 254.2222dp
- 256.0000dp
- 257.7778dp
- 259.5556dp
- 261.3333dp
- 263.1111dp
- 264.8889dp
- 266.6667dp
- 268.4444dp
- 270.2222dp
- 272.0000dp
- 273.7778dp
- 275.5556dp
- 277.3333dp
- 279.1111dp
- 280.8889dp
- 282.6667dp
- 284.4444dp
- 286.2222dp
- 288.0000dp
- 289.7778dp
- 291.5556dp
- 293.3333dp
- 295.1111dp
- 296.8889dp
- 298.6667dp
- 300.4444dp
- 302.2222dp
- 304.0000dp
- 305.7778dp
- 307.5556dp
- 309.3333dp
- 311.1111dp
- 312.8889dp
- 314.6667dp
- 316.4444dp
- 318.2222dp
- 320.0000dp
- 321.7778dp
- 323.5556dp
- 325.3333dp
- 327.1111dp
- 328.8889dp
- 330.6667dp
- 332.4444dp
- 334.2222dp
- 336.0000dp
- 337.7778dp
- 339.5556dp
- 341.3333dp
- 343.1111dp
- 344.8889dp
- 346.6667dp
- 348.4444dp
- 350.2222dp
- 352.0000dp
- 353.7778dp
- 355.5556dp
- 357.3333dp
- 359.1111dp
- 360.8889dp
- 362.6667dp
- 364.4444dp
- 366.2222dp
- 368.0000dp
- 369.7778dp
- 371.5556dp
- 373.3333dp
- 375.1111dp
- 376.8889dp
- 378.6667dp
- 380.4444dp
- 382.2222dp
- 384.0000dp
- 385.7778dp
- 387.5556dp
- 389.3333dp
- 391.1111dp
- 392.8889dp
- 394.6667dp
- 396.4444dp
- 398.2222dp
- 400.0000dp
- 401.7778dp
- 403.5556dp
- 405.3333dp
- 407.1111dp
- 408.8889dp
- 410.6667dp
- 412.4444dp
- 414.2222dp
- 416.0000dp
- 417.7778dp
- 419.5556dp
- 421.3333dp
- 423.1111dp
- 424.8889dp
- 426.6667dp
- 428.4444dp
- 430.2222dp
- 432.0000dp
- 433.7778dp
- 435.5556dp
- 437.3333dp
- 439.1111dp
- 440.8889dp
- 442.6667dp
- 444.4444dp
- 446.2222dp
- 448.0000dp
- 449.7778dp
- 451.5556dp
- 453.3333dp
- 455.1111dp
- 456.8889dp
- 458.6667dp
- 460.4444dp
- 462.2222dp
- 464.0000dp
- 465.7778dp
- 467.5556dp
- 469.3333dp
- 471.1111dp
- 472.8889dp
- 474.6667dp
- 476.4444dp
- 478.2222dp
- 480.0000dp
- 481.7778dp
- 483.5556dp
- 485.3333dp
- 487.1111dp
- 488.8889dp
- 490.6667dp
- 492.4444dp
- 494.2222dp
- 496.0000dp
- 497.7778dp
- 499.5556dp
- 501.3333dp
- 503.1111dp
- 504.8889dp
- 506.6667dp
- 508.4444dp
- 510.2222dp
- 512.0000dp
- 513.7778dp
- 515.5556dp
- 517.3333dp
- 519.1111dp
- 520.8889dp
- 522.6667dp
- 524.4444dp
- 526.2222dp
- 528.0000dp
- 529.7778dp
- 531.5556dp
- 533.3333dp
- 535.1111dp
- 536.8889dp
- 538.6667dp
- 540.4444dp
- 542.2222dp
- 544.0000dp
- 545.7778dp
- 547.5556dp
- 549.3333dp
- 551.1111dp
- 552.8889dp
- 554.6667dp
- 556.4444dp
- 558.2222dp
- 560.0000dp
- 561.7778dp
- 563.5556dp
- 565.3333dp
- 567.1111dp
- 568.8889dp
- 570.6667dp
- 572.4444dp
- 574.2222dp
- 576.0000dp
- 577.7778dp
- 579.5556dp
- 581.3333dp
- 583.1111dp
- 584.8889dp
- 586.6667dp
- 588.4444dp
- 590.2222dp
- 592.0000dp
- 593.7778dp
- 595.5556dp
- 597.3333dp
- 599.1111dp
- 600.8889dp
- 602.6667dp
- 604.4444dp
- 606.2222dp
- 608.0000dp
- 609.7778dp
- 611.5556dp
- 613.3333dp
- 615.1111dp
- 616.8889dp
- 618.6667dp
- 620.4444dp
- 622.2222dp
- 624.0000dp
- 625.7778dp
- 627.5556dp
- 629.3333dp
- 631.1111dp
- 632.8889dp
- 634.6667dp
- 636.4444dp
- 638.2222dp
- 640.0000dp
- 648.8889dp
- 657.7778dp
- 711.1111dp
- 728.8889dp
- 750.2222dp
- 839.1111dp
- 888.8889dp
- 1066.6667dp
- 1137.7778dp
- 1280.0000dp
- 10.6667sp
- 12.4444sp
- 14.2222sp
- 16.0000sp
- 17.7778sp
- 19.5556sp
- 21.3333sp
- 23.1111sp
- 24.8889sp
- 26.6667sp
- 28.4444sp
- 30.2222sp
- 32.0000sp
- 33.7778sp
- 35.5556sp
- 37.3333sp
- 39.1111sp
- 40.8889sp
- 42.6667sp
- 44.4444sp
- 49.7778sp
- 53.3333sp
- 56.8889sp
- 60.4444sp
- 64.0000sp
- 67.5556sp
- 71.1111sp
- 74.6667sp
- 85.3333sp
-
diff --git a/app/src/main/res/values-sw662dp/dimens.xml b/app/src/main/res/values-sw662dp/dimens.xml
deleted file mode 100644
index bc981ab..0000000
--- a/app/src/main/res/values-sw662dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -110.3333dp
- -55.1667dp
- -36.7778dp
- -22.0667dp
- -18.3889dp
- -14.7111dp
- -9.1944dp
- -3.6778dp
- -1.8389dp
- 0.0000dp
- 0.1839dp
- 0.9194dp
- 1.8389dp
- 2.7583dp
- 3.6778dp
- 4.5972dp
- 5.5167dp
- 6.4361dp
- 7.3556dp
- 8.2750dp
- 9.1944dp
- 11.0333dp
- 12.8722dp
- 14.7111dp
- 16.5500dp
- 18.3889dp
- 20.2278dp
- 22.0667dp
- 23.9056dp
- 25.7444dp
- 27.5833dp
- 29.4222dp
- 31.2611dp
- 33.1000dp
- 34.9389dp
- 36.7778dp
- 38.6167dp
- 40.4556dp
- 42.2944dp
- 44.1333dp
- 45.9722dp
- 47.8111dp
- 49.6500dp
- 51.4889dp
- 53.3278dp
- 55.1667dp
- 57.0056dp
- 58.8444dp
- 60.6833dp
- 62.5222dp
- 64.3611dp
- 66.2000dp
- 68.0389dp
- 69.8778dp
- 71.7167dp
- 73.5556dp
- 75.3944dp
- 77.2333dp
- 79.0722dp
- 80.9111dp
- 82.7500dp
- 84.5889dp
- 86.4278dp
- 88.2667dp
- 90.1056dp
- 91.9444dp
- 93.7833dp
- 95.6222dp
- 97.4611dp
- 99.3000dp
- 101.1389dp
- 102.9778dp
- 104.8167dp
- 106.6556dp
- 108.4944dp
- 110.3333dp
- 112.1722dp
- 114.0111dp
- 115.8500dp
- 117.6889dp
- 119.5278dp
- 121.3667dp
- 123.2056dp
- 125.0444dp
- 126.8833dp
- 128.7222dp
- 130.5611dp
- 132.4000dp
- 134.2389dp
- 136.0778dp
- 137.9167dp
- 139.7556dp
- 141.5944dp
- 143.4333dp
- 145.2722dp
- 147.1111dp
- 148.9500dp
- 150.7889dp
- 152.6278dp
- 154.4667dp
- 156.3056dp
- 158.1444dp
- 159.9833dp
- 161.8222dp
- 163.6611dp
- 165.5000dp
- 167.3389dp
- 169.1778dp
- 171.0167dp
- 172.8556dp
- 174.6944dp
- 176.5333dp
- 178.3722dp
- 180.2111dp
- 182.0500dp
- 183.8889dp
- 185.7278dp
- 187.5667dp
- 189.4056dp
- 191.2444dp
- 193.0833dp
- 194.9222dp
- 196.7611dp
- 198.6000dp
- 200.4389dp
- 202.2778dp
- 204.1167dp
- 205.9556dp
- 207.7944dp
- 209.6333dp
- 211.4722dp
- 213.3111dp
- 215.1500dp
- 216.9889dp
- 218.8278dp
- 220.6667dp
- 222.5056dp
- 224.3444dp
- 226.1833dp
- 228.0222dp
- 229.8611dp
- 231.7000dp
- 233.5389dp
- 235.3778dp
- 237.2167dp
- 239.0556dp
- 240.8944dp
- 242.7333dp
- 244.5722dp
- 246.4111dp
- 248.2500dp
- 250.0889dp
- 251.9278dp
- 253.7667dp
- 255.6056dp
- 257.4444dp
- 259.2833dp
- 261.1222dp
- 262.9611dp
- 264.8000dp
- 266.6389dp
- 268.4778dp
- 270.3167dp
- 272.1556dp
- 273.9944dp
- 275.8333dp
- 277.6722dp
- 279.5111dp
- 281.3500dp
- 283.1889dp
- 285.0278dp
- 286.8667dp
- 288.7056dp
- 290.5444dp
- 292.3833dp
- 294.2222dp
- 296.0611dp
- 297.9000dp
- 299.7389dp
- 301.5778dp
- 303.4167dp
- 305.2556dp
- 307.0944dp
- 308.9333dp
- 310.7722dp
- 312.6111dp
- 314.4500dp
- 316.2889dp
- 318.1278dp
- 319.9667dp
- 321.8056dp
- 323.6444dp
- 325.4833dp
- 327.3222dp
- 329.1611dp
- 331.0000dp
- 332.8389dp
- 334.6778dp
- 336.5167dp
- 338.3556dp
- 340.1944dp
- 342.0333dp
- 343.8722dp
- 345.7111dp
- 347.5500dp
- 349.3889dp
- 351.2278dp
- 353.0667dp
- 354.9056dp
- 356.7444dp
- 358.5833dp
- 360.4222dp
- 362.2611dp
- 364.1000dp
- 365.9389dp
- 367.7778dp
- 369.6167dp
- 371.4556dp
- 373.2944dp
- 375.1333dp
- 376.9722dp
- 378.8111dp
- 380.6500dp
- 382.4889dp
- 384.3278dp
- 386.1667dp
- 388.0056dp
- 389.8444dp
- 391.6833dp
- 393.5222dp
- 395.3611dp
- 397.2000dp
- 399.0389dp
- 400.8778dp
- 402.7167dp
- 404.5556dp
- 406.3944dp
- 408.2333dp
- 410.0722dp
- 411.9111dp
- 413.7500dp
- 415.5889dp
- 417.4278dp
- 419.2667dp
- 421.1056dp
- 422.9444dp
- 424.7833dp
- 426.6222dp
- 428.4611dp
- 430.3000dp
- 432.1389dp
- 433.9778dp
- 435.8167dp
- 437.6556dp
- 439.4944dp
- 441.3333dp
- 443.1722dp
- 445.0111dp
- 446.8500dp
- 448.6889dp
- 450.5278dp
- 452.3667dp
- 454.2056dp
- 456.0444dp
- 457.8833dp
- 459.7222dp
- 461.5611dp
- 463.4000dp
- 465.2389dp
- 467.0778dp
- 468.9167dp
- 470.7556dp
- 472.5944dp
- 474.4333dp
- 476.2722dp
- 478.1111dp
- 479.9500dp
- 481.7889dp
- 483.6278dp
- 485.4667dp
- 487.3056dp
- 489.1444dp
- 490.9833dp
- 492.8222dp
- 494.6611dp
- 496.5000dp
- 498.3389dp
- 500.1778dp
- 502.0167dp
- 503.8556dp
- 505.6944dp
- 507.5333dp
- 509.3722dp
- 511.2111dp
- 513.0500dp
- 514.8889dp
- 516.7278dp
- 518.5667dp
- 520.4056dp
- 522.2444dp
- 524.0833dp
- 525.9222dp
- 527.7611dp
- 529.6000dp
- 531.4389dp
- 533.2778dp
- 535.1167dp
- 536.9556dp
- 538.7944dp
- 540.6333dp
- 542.4722dp
- 544.3111dp
- 546.1500dp
- 547.9889dp
- 549.8278dp
- 551.6667dp
- 553.5056dp
- 555.3444dp
- 557.1833dp
- 559.0222dp
- 560.8611dp
- 562.7000dp
- 564.5389dp
- 566.3778dp
- 568.2167dp
- 570.0556dp
- 571.8944dp
- 573.7333dp
- 575.5722dp
- 577.4111dp
- 579.2500dp
- 581.0889dp
- 582.9278dp
- 584.7667dp
- 586.6056dp
- 588.4444dp
- 590.2833dp
- 592.1222dp
- 593.9611dp
- 595.8000dp
- 597.6389dp
- 599.4778dp
- 601.3167dp
- 603.1556dp
- 604.9944dp
- 606.8333dp
- 608.6722dp
- 610.5111dp
- 612.3500dp
- 614.1889dp
- 616.0278dp
- 617.8667dp
- 619.7056dp
- 621.5444dp
- 623.3833dp
- 625.2222dp
- 627.0611dp
- 628.9000dp
- 630.7389dp
- 632.5778dp
- 634.4167dp
- 636.2556dp
- 638.0944dp
- 639.9333dp
- 641.7722dp
- 643.6111dp
- 645.4500dp
- 647.2889dp
- 649.1278dp
- 650.9667dp
- 652.8056dp
- 654.6444dp
- 656.4833dp
- 658.3222dp
- 660.1611dp
- 662.0000dp
- 671.1944dp
- 680.3889dp
- 735.5556dp
- 753.9444dp
- 776.0111dp
- 867.9556dp
- 919.4444dp
- 1103.3333dp
- 1176.8889dp
- 1324.0000dp
- 11.0333sp
- 12.8722sp
- 14.7111sp
- 16.5500sp
- 18.3889sp
- 20.2278sp
- 22.0667sp
- 23.9056sp
- 25.7444sp
- 27.5833sp
- 29.4222sp
- 31.2611sp
- 33.1000sp
- 34.9389sp
- 36.7778sp
- 38.6167sp
- 40.4556sp
- 42.2944sp
- 44.1333sp
- 45.9722sp
- 51.4889sp
- 55.1667sp
- 58.8444sp
- 62.5222sp
- 66.2000sp
- 69.8778sp
- 73.5556sp
- 77.2333sp
- 88.2667sp
-
diff --git a/app/src/main/res/values-sw720dp/dimens.xml b/app/src/main/res/values-sw720dp/dimens.xml
deleted file mode 100644
index 0c84204..0000000
--- a/app/src/main/res/values-sw720dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -120.0000dp
- -60.0000dp
- -40.0000dp
- -24.0000dp
- -20.0000dp
- -16.0000dp
- -10.0000dp
- -4.0000dp
- -2.0000dp
- 0.0000dp
- 0.2000dp
- 1.0000dp
- 2.0000dp
- 3.0000dp
- 4.0000dp
- 5.0000dp
- 6.0000dp
- 7.0000dp
- 8.0000dp
- 9.0000dp
- 10.0000dp
- 12.0000dp
- 14.0000dp
- 16.0000dp
- 18.0000dp
- 20.0000dp
- 22.0000dp
- 24.0000dp
- 26.0000dp
- 28.0000dp
- 30.0000dp
- 32.0000dp
- 34.0000dp
- 36.0000dp
- 38.0000dp
- 40.0000dp
- 42.0000dp
- 44.0000dp
- 46.0000dp
- 48.0000dp
- 50.0000dp
- 52.0000dp
- 54.0000dp
- 56.0000dp
- 58.0000dp
- 60.0000dp
- 62.0000dp
- 64.0000dp
- 66.0000dp
- 68.0000dp
- 70.0000dp
- 72.0000dp
- 74.0000dp
- 76.0000dp
- 78.0000dp
- 80.0000dp
- 82.0000dp
- 84.0000dp
- 86.0000dp
- 88.0000dp
- 90.0000dp
- 92.0000dp
- 94.0000dp
- 96.0000dp
- 98.0000dp
- 100.0000dp
- 102.0000dp
- 104.0000dp
- 106.0000dp
- 108.0000dp
- 110.0000dp
- 112.0000dp
- 114.0000dp
- 116.0000dp
- 118.0000dp
- 120.0000dp
- 122.0000dp
- 124.0000dp
- 126.0000dp
- 128.0000dp
- 130.0000dp
- 132.0000dp
- 134.0000dp
- 136.0000dp
- 138.0000dp
- 140.0000dp
- 142.0000dp
- 144.0000dp
- 146.0000dp
- 148.0000dp
- 150.0000dp
- 152.0000dp
- 154.0000dp
- 156.0000dp
- 158.0000dp
- 160.0000dp
- 162.0000dp
- 164.0000dp
- 166.0000dp
- 168.0000dp
- 170.0000dp
- 172.0000dp
- 174.0000dp
- 176.0000dp
- 178.0000dp
- 180.0000dp
- 182.0000dp
- 184.0000dp
- 186.0000dp
- 188.0000dp
- 190.0000dp
- 192.0000dp
- 194.0000dp
- 196.0000dp
- 198.0000dp
- 200.0000dp
- 202.0000dp
- 204.0000dp
- 206.0000dp
- 208.0000dp
- 210.0000dp
- 212.0000dp
- 214.0000dp
- 216.0000dp
- 218.0000dp
- 220.0000dp
- 222.0000dp
- 224.0000dp
- 226.0000dp
- 228.0000dp
- 230.0000dp
- 232.0000dp
- 234.0000dp
- 236.0000dp
- 238.0000dp
- 240.0000dp
- 242.0000dp
- 244.0000dp
- 246.0000dp
- 248.0000dp
- 250.0000dp
- 252.0000dp
- 254.0000dp
- 256.0000dp
- 258.0000dp
- 260.0000dp
- 262.0000dp
- 264.0000dp
- 266.0000dp
- 268.0000dp
- 270.0000dp
- 272.0000dp
- 274.0000dp
- 276.0000dp
- 278.0000dp
- 280.0000dp
- 282.0000dp
- 284.0000dp
- 286.0000dp
- 288.0000dp
- 290.0000dp
- 292.0000dp
- 294.0000dp
- 296.0000dp
- 298.0000dp
- 300.0000dp
- 302.0000dp
- 304.0000dp
- 306.0000dp
- 308.0000dp
- 310.0000dp
- 312.0000dp
- 314.0000dp
- 316.0000dp
- 318.0000dp
- 320.0000dp
- 322.0000dp
- 324.0000dp
- 326.0000dp
- 328.0000dp
- 330.0000dp
- 332.0000dp
- 334.0000dp
- 336.0000dp
- 338.0000dp
- 340.0000dp
- 342.0000dp
- 344.0000dp
- 346.0000dp
- 348.0000dp
- 350.0000dp
- 352.0000dp
- 354.0000dp
- 356.0000dp
- 358.0000dp
- 360.0000dp
- 362.0000dp
- 364.0000dp
- 366.0000dp
- 368.0000dp
- 370.0000dp
- 372.0000dp
- 374.0000dp
- 376.0000dp
- 378.0000dp
- 380.0000dp
- 382.0000dp
- 384.0000dp
- 386.0000dp
- 388.0000dp
- 390.0000dp
- 392.0000dp
- 394.0000dp
- 396.0000dp
- 398.0000dp
- 400.0000dp
- 402.0000dp
- 404.0000dp
- 406.0000dp
- 408.0000dp
- 410.0000dp
- 412.0000dp
- 414.0000dp
- 416.0000dp
- 418.0000dp
- 420.0000dp
- 422.0000dp
- 424.0000dp
- 426.0000dp
- 428.0000dp
- 430.0000dp
- 432.0000dp
- 434.0000dp
- 436.0000dp
- 438.0000dp
- 440.0000dp
- 442.0000dp
- 444.0000dp
- 446.0000dp
- 448.0000dp
- 450.0000dp
- 452.0000dp
- 454.0000dp
- 456.0000dp
- 458.0000dp
- 460.0000dp
- 462.0000dp
- 464.0000dp
- 466.0000dp
- 468.0000dp
- 470.0000dp
- 472.0000dp
- 474.0000dp
- 476.0000dp
- 478.0000dp
- 480.0000dp
- 482.0000dp
- 484.0000dp
- 486.0000dp
- 488.0000dp
- 490.0000dp
- 492.0000dp
- 494.0000dp
- 496.0000dp
- 498.0000dp
- 500.0000dp
- 502.0000dp
- 504.0000dp
- 506.0000dp
- 508.0000dp
- 510.0000dp
- 512.0000dp
- 514.0000dp
- 516.0000dp
- 518.0000dp
- 520.0000dp
- 522.0000dp
- 524.0000dp
- 526.0000dp
- 528.0000dp
- 530.0000dp
- 532.0000dp
- 534.0000dp
- 536.0000dp
- 538.0000dp
- 540.0000dp
- 542.0000dp
- 544.0000dp
- 546.0000dp
- 548.0000dp
- 550.0000dp
- 552.0000dp
- 554.0000dp
- 556.0000dp
- 558.0000dp
- 560.0000dp
- 562.0000dp
- 564.0000dp
- 566.0000dp
- 568.0000dp
- 570.0000dp
- 572.0000dp
- 574.0000dp
- 576.0000dp
- 578.0000dp
- 580.0000dp
- 582.0000dp
- 584.0000dp
- 586.0000dp
- 588.0000dp
- 590.0000dp
- 592.0000dp
- 594.0000dp
- 596.0000dp
- 598.0000dp
- 600.0000dp
- 602.0000dp
- 604.0000dp
- 606.0000dp
- 608.0000dp
- 610.0000dp
- 612.0000dp
- 614.0000dp
- 616.0000dp
- 618.0000dp
- 620.0000dp
- 622.0000dp
- 624.0000dp
- 626.0000dp
- 628.0000dp
- 630.0000dp
- 632.0000dp
- 634.0000dp
- 636.0000dp
- 638.0000dp
- 640.0000dp
- 642.0000dp
- 644.0000dp
- 646.0000dp
- 648.0000dp
- 650.0000dp
- 652.0000dp
- 654.0000dp
- 656.0000dp
- 658.0000dp
- 660.0000dp
- 662.0000dp
- 664.0000dp
- 666.0000dp
- 668.0000dp
- 670.0000dp
- 672.0000dp
- 674.0000dp
- 676.0000dp
- 678.0000dp
- 680.0000dp
- 682.0000dp
- 684.0000dp
- 686.0000dp
- 688.0000dp
- 690.0000dp
- 692.0000dp
- 694.0000dp
- 696.0000dp
- 698.0000dp
- 700.0000dp
- 702.0000dp
- 704.0000dp
- 706.0000dp
- 708.0000dp
- 710.0000dp
- 712.0000dp
- 714.0000dp
- 716.0000dp
- 718.0000dp
- 720.0000dp
- 730.0000dp
- 740.0000dp
- 800.0000dp
- 820.0000dp
- 844.0000dp
- 944.0000dp
- 1000.0000dp
- 1200.0000dp
- 1280.0000dp
- 1440.0000dp
- 12.0000sp
- 14.0000sp
- 16.0000sp
- 18.0000sp
- 20.0000sp
- 22.0000sp
- 24.0000sp
- 26.0000sp
- 28.0000sp
- 30.0000sp
- 32.0000sp
- 34.0000sp
- 36.0000sp
- 38.0000sp
- 40.0000sp
- 42.0000sp
- 44.0000sp
- 46.0000sp
- 48.0000sp
- 50.0000sp
- 56.0000sp
- 60.0000sp
- 64.0000sp
- 68.0000sp
- 72.0000sp
- 76.0000sp
- 80.0000sp
- 84.0000sp
- 96.0000sp
-
diff --git a/app/src/main/res/values-sw768dp/dimens.xml b/app/src/main/res/values-sw768dp/dimens.xml
deleted file mode 100644
index cf6fa3b..0000000
--- a/app/src/main/res/values-sw768dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -128.0000dp
- -64.0000dp
- -42.6667dp
- -25.6000dp
- -21.3333dp
- -17.0667dp
- -10.6667dp
- -4.2667dp
- -2.1333dp
- 0.0000dp
- 0.2133dp
- 1.0667dp
- 2.1333dp
- 3.2000dp
- 4.2667dp
- 5.3333dp
- 6.4000dp
- 7.4667dp
- 8.5333dp
- 9.6000dp
- 10.6667dp
- 12.8000dp
- 14.9333dp
- 17.0667dp
- 19.2000dp
- 21.3333dp
- 23.4667dp
- 25.6000dp
- 27.7333dp
- 29.8667dp
- 32.0000dp
- 34.1333dp
- 36.2667dp
- 38.4000dp
- 40.5333dp
- 42.6667dp
- 44.8000dp
- 46.9333dp
- 49.0667dp
- 51.2000dp
- 53.3333dp
- 55.4667dp
- 57.6000dp
- 59.7333dp
- 61.8667dp
- 64.0000dp
- 66.1333dp
- 68.2667dp
- 70.4000dp
- 72.5333dp
- 74.6667dp
- 76.8000dp
- 78.9333dp
- 81.0667dp
- 83.2000dp
- 85.3333dp
- 87.4667dp
- 89.6000dp
- 91.7333dp
- 93.8667dp
- 96.0000dp
- 98.1333dp
- 100.2667dp
- 102.4000dp
- 104.5333dp
- 106.6667dp
- 108.8000dp
- 110.9333dp
- 113.0667dp
- 115.2000dp
- 117.3333dp
- 119.4667dp
- 121.6000dp
- 123.7333dp
- 125.8667dp
- 128.0000dp
- 130.1333dp
- 132.2667dp
- 134.4000dp
- 136.5333dp
- 138.6667dp
- 140.8000dp
- 142.9333dp
- 145.0667dp
- 147.2000dp
- 149.3333dp
- 151.4667dp
- 153.6000dp
- 155.7333dp
- 157.8667dp
- 160.0000dp
- 162.1333dp
- 164.2667dp
- 166.4000dp
- 168.5333dp
- 170.6667dp
- 172.8000dp
- 174.9333dp
- 177.0667dp
- 179.2000dp
- 181.3333dp
- 183.4667dp
- 185.6000dp
- 187.7333dp
- 189.8667dp
- 192.0000dp
- 194.1333dp
- 196.2667dp
- 198.4000dp
- 200.5333dp
- 202.6667dp
- 204.8000dp
- 206.9333dp
- 209.0667dp
- 211.2000dp
- 213.3333dp
- 215.4667dp
- 217.6000dp
- 219.7333dp
- 221.8667dp
- 224.0000dp
- 226.1333dp
- 228.2667dp
- 230.4000dp
- 232.5333dp
- 234.6667dp
- 236.8000dp
- 238.9333dp
- 241.0667dp
- 243.2000dp
- 245.3333dp
- 247.4667dp
- 249.6000dp
- 251.7333dp
- 253.8667dp
- 256.0000dp
- 258.1333dp
- 260.2667dp
- 262.4000dp
- 264.5333dp
- 266.6667dp
- 268.8000dp
- 270.9333dp
- 273.0667dp
- 275.2000dp
- 277.3333dp
- 279.4667dp
- 281.6000dp
- 283.7333dp
- 285.8667dp
- 288.0000dp
- 290.1333dp
- 292.2667dp
- 294.4000dp
- 296.5333dp
- 298.6667dp
- 300.8000dp
- 302.9333dp
- 305.0667dp
- 307.2000dp
- 309.3333dp
- 311.4667dp
- 313.6000dp
- 315.7333dp
- 317.8667dp
- 320.0000dp
- 322.1333dp
- 324.2667dp
- 326.4000dp
- 328.5333dp
- 330.6667dp
- 332.8000dp
- 334.9333dp
- 337.0667dp
- 339.2000dp
- 341.3333dp
- 343.4667dp
- 345.6000dp
- 347.7333dp
- 349.8667dp
- 352.0000dp
- 354.1333dp
- 356.2667dp
- 358.4000dp
- 360.5333dp
- 362.6667dp
- 364.8000dp
- 366.9333dp
- 369.0667dp
- 371.2000dp
- 373.3333dp
- 375.4667dp
- 377.6000dp
- 379.7333dp
- 381.8667dp
- 384.0000dp
- 386.1333dp
- 388.2667dp
- 390.4000dp
- 392.5333dp
- 394.6667dp
- 396.8000dp
- 398.9333dp
- 401.0667dp
- 403.2000dp
- 405.3333dp
- 407.4667dp
- 409.6000dp
- 411.7333dp
- 413.8667dp
- 416.0000dp
- 418.1333dp
- 420.2667dp
- 422.4000dp
- 424.5333dp
- 426.6667dp
- 428.8000dp
- 430.9333dp
- 433.0667dp
- 435.2000dp
- 437.3333dp
- 439.4667dp
- 441.6000dp
- 443.7333dp
- 445.8667dp
- 448.0000dp
- 450.1333dp
- 452.2667dp
- 454.4000dp
- 456.5333dp
- 458.6667dp
- 460.8000dp
- 462.9333dp
- 465.0667dp
- 467.2000dp
- 469.3333dp
- 471.4667dp
- 473.6000dp
- 475.7333dp
- 477.8667dp
- 480.0000dp
- 482.1333dp
- 484.2667dp
- 486.4000dp
- 488.5333dp
- 490.6667dp
- 492.8000dp
- 494.9333dp
- 497.0667dp
- 499.2000dp
- 501.3333dp
- 503.4667dp
- 505.6000dp
- 507.7333dp
- 509.8667dp
- 512.0000dp
- 514.1333dp
- 516.2667dp
- 518.4000dp
- 520.5333dp
- 522.6667dp
- 524.8000dp
- 526.9333dp
- 529.0667dp
- 531.2000dp
- 533.3333dp
- 535.4667dp
- 537.6000dp
- 539.7333dp
- 541.8667dp
- 544.0000dp
- 546.1333dp
- 548.2667dp
- 550.4000dp
- 552.5333dp
- 554.6667dp
- 556.8000dp
- 558.9333dp
- 561.0667dp
- 563.2000dp
- 565.3333dp
- 567.4667dp
- 569.6000dp
- 571.7333dp
- 573.8667dp
- 576.0000dp
- 578.1333dp
- 580.2667dp
- 582.4000dp
- 584.5333dp
- 586.6667dp
- 588.8000dp
- 590.9333dp
- 593.0667dp
- 595.2000dp
- 597.3333dp
- 599.4667dp
- 601.6000dp
- 603.7333dp
- 605.8667dp
- 608.0000dp
- 610.1333dp
- 612.2667dp
- 614.4000dp
- 616.5333dp
- 618.6667dp
- 620.8000dp
- 622.9333dp
- 625.0667dp
- 627.2000dp
- 629.3333dp
- 631.4667dp
- 633.6000dp
- 635.7333dp
- 637.8667dp
- 640.0000dp
- 642.1333dp
- 644.2667dp
- 646.4000dp
- 648.5333dp
- 650.6667dp
- 652.8000dp
- 654.9333dp
- 657.0667dp
- 659.2000dp
- 661.3333dp
- 663.4667dp
- 665.6000dp
- 667.7333dp
- 669.8667dp
- 672.0000dp
- 674.1333dp
- 676.2667dp
- 678.4000dp
- 680.5333dp
- 682.6667dp
- 684.8000dp
- 686.9333dp
- 689.0667dp
- 691.2000dp
- 693.3333dp
- 695.4667dp
- 697.6000dp
- 699.7333dp
- 701.8667dp
- 704.0000dp
- 706.1333dp
- 708.2667dp
- 710.4000dp
- 712.5333dp
- 714.6667dp
- 716.8000dp
- 718.9333dp
- 721.0667dp
- 723.2000dp
- 725.3333dp
- 727.4667dp
- 729.6000dp
- 731.7333dp
- 733.8667dp
- 736.0000dp
- 738.1333dp
- 740.2667dp
- 742.4000dp
- 744.5333dp
- 746.6667dp
- 748.8000dp
- 750.9333dp
- 753.0667dp
- 755.2000dp
- 757.3333dp
- 759.4667dp
- 761.6000dp
- 763.7333dp
- 765.8667dp
- 768.0000dp
- 778.6667dp
- 789.3333dp
- 853.3333dp
- 874.6667dp
- 900.2667dp
- 1006.9333dp
- 1066.6667dp
- 1280.0000dp
- 1365.3333dp
- 1536.0000dp
- 12.8000sp
- 14.9333sp
- 17.0667sp
- 19.2000sp
- 21.3333sp
- 23.4667sp
- 25.6000sp
- 27.7333sp
- 29.8667sp
- 32.0000sp
- 34.1333sp
- 36.2667sp
- 38.4000sp
- 40.5333sp
- 42.6667sp
- 44.8000sp
- 46.9333sp
- 49.0667sp
- 51.2000sp
- 53.3333sp
- 59.7333sp
- 64.0000sp
- 68.2667sp
- 72.5333sp
- 76.8000sp
- 81.0667sp
- 85.3333sp
- 89.6000sp
- 102.4000sp
-
diff --git a/app/src/main/res/values-sw800dp/dimens.xml b/app/src/main/res/values-sw800dp/dimens.xml
deleted file mode 100644
index 84c7673..0000000
--- a/app/src/main/res/values-sw800dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -133.3333dp
- -66.6667dp
- -44.4444dp
- -26.6667dp
- -22.2222dp
- -17.7778dp
- -11.1111dp
- -4.4444dp
- -2.2222dp
- 0.0000dp
- 0.2222dp
- 1.1111dp
- 2.2222dp
- 3.3333dp
- 4.4444dp
- 5.5556dp
- 6.6667dp
- 7.7778dp
- 8.8889dp
- 10.0000dp
- 11.1111dp
- 13.3333dp
- 15.5556dp
- 17.7778dp
- 20.0000dp
- 22.2222dp
- 24.4444dp
- 26.6667dp
- 28.8889dp
- 31.1111dp
- 33.3333dp
- 35.5556dp
- 37.7778dp
- 40.0000dp
- 42.2222dp
- 44.4444dp
- 46.6667dp
- 48.8889dp
- 51.1111dp
- 53.3333dp
- 55.5556dp
- 57.7778dp
- 60.0000dp
- 62.2222dp
- 64.4444dp
- 66.6667dp
- 68.8889dp
- 71.1111dp
- 73.3333dp
- 75.5556dp
- 77.7778dp
- 80.0000dp
- 82.2222dp
- 84.4444dp
- 86.6667dp
- 88.8889dp
- 91.1111dp
- 93.3333dp
- 95.5556dp
- 97.7778dp
- 100.0000dp
- 102.2222dp
- 104.4444dp
- 106.6667dp
- 108.8889dp
- 111.1111dp
- 113.3333dp
- 115.5556dp
- 117.7778dp
- 120.0000dp
- 122.2222dp
- 124.4444dp
- 126.6667dp
- 128.8889dp
- 131.1111dp
- 133.3333dp
- 135.5556dp
- 137.7778dp
- 140.0000dp
- 142.2222dp
- 144.4444dp
- 146.6667dp
- 148.8889dp
- 151.1111dp
- 153.3333dp
- 155.5556dp
- 157.7778dp
- 160.0000dp
- 162.2222dp
- 164.4444dp
- 166.6667dp
- 168.8889dp
- 171.1111dp
- 173.3333dp
- 175.5556dp
- 177.7778dp
- 180.0000dp
- 182.2222dp
- 184.4444dp
- 186.6667dp
- 188.8889dp
- 191.1111dp
- 193.3333dp
- 195.5556dp
- 197.7778dp
- 200.0000dp
- 202.2222dp
- 204.4444dp
- 206.6667dp
- 208.8889dp
- 211.1111dp
- 213.3333dp
- 215.5556dp
- 217.7778dp
- 220.0000dp
- 222.2222dp
- 224.4444dp
- 226.6667dp
- 228.8889dp
- 231.1111dp
- 233.3333dp
- 235.5556dp
- 237.7778dp
- 240.0000dp
- 242.2222dp
- 244.4444dp
- 246.6667dp
- 248.8889dp
- 251.1111dp
- 253.3333dp
- 255.5556dp
- 257.7778dp
- 260.0000dp
- 262.2222dp
- 264.4444dp
- 266.6667dp
- 268.8889dp
- 271.1111dp
- 273.3333dp
- 275.5556dp
- 277.7778dp
- 280.0000dp
- 282.2222dp
- 284.4444dp
- 286.6667dp
- 288.8889dp
- 291.1111dp
- 293.3333dp
- 295.5556dp
- 297.7778dp
- 300.0000dp
- 302.2222dp
- 304.4444dp
- 306.6667dp
- 308.8889dp
- 311.1111dp
- 313.3333dp
- 315.5556dp
- 317.7778dp
- 320.0000dp
- 322.2222dp
- 324.4444dp
- 326.6667dp
- 328.8889dp
- 331.1111dp
- 333.3333dp
- 335.5556dp
- 337.7778dp
- 340.0000dp
- 342.2222dp
- 344.4444dp
- 346.6667dp
- 348.8889dp
- 351.1111dp
- 353.3333dp
- 355.5556dp
- 357.7778dp
- 360.0000dp
- 362.2222dp
- 364.4444dp
- 366.6667dp
- 368.8889dp
- 371.1111dp
- 373.3333dp
- 375.5556dp
- 377.7778dp
- 380.0000dp
- 382.2222dp
- 384.4444dp
- 386.6667dp
- 388.8889dp
- 391.1111dp
- 393.3333dp
- 395.5556dp
- 397.7778dp
- 400.0000dp
- 402.2222dp
- 404.4444dp
- 406.6667dp
- 408.8889dp
- 411.1111dp
- 413.3333dp
- 415.5556dp
- 417.7778dp
- 420.0000dp
- 422.2222dp
- 424.4444dp
- 426.6667dp
- 428.8889dp
- 431.1111dp
- 433.3333dp
- 435.5556dp
- 437.7778dp
- 440.0000dp
- 442.2222dp
- 444.4444dp
- 446.6667dp
- 448.8889dp
- 451.1111dp
- 453.3333dp
- 455.5556dp
- 457.7778dp
- 460.0000dp
- 462.2222dp
- 464.4444dp
- 466.6667dp
- 468.8889dp
- 471.1111dp
- 473.3333dp
- 475.5556dp
- 477.7778dp
- 480.0000dp
- 482.2222dp
- 484.4444dp
- 486.6667dp
- 488.8889dp
- 491.1111dp
- 493.3333dp
- 495.5556dp
- 497.7778dp
- 500.0000dp
- 502.2222dp
- 504.4444dp
- 506.6667dp
- 508.8889dp
- 511.1111dp
- 513.3333dp
- 515.5556dp
- 517.7778dp
- 520.0000dp
- 522.2222dp
- 524.4444dp
- 526.6667dp
- 528.8889dp
- 531.1111dp
- 533.3333dp
- 535.5556dp
- 537.7778dp
- 540.0000dp
- 542.2222dp
- 544.4444dp
- 546.6667dp
- 548.8889dp
- 551.1111dp
- 553.3333dp
- 555.5556dp
- 557.7778dp
- 560.0000dp
- 562.2222dp
- 564.4444dp
- 566.6667dp
- 568.8889dp
- 571.1111dp
- 573.3333dp
- 575.5556dp
- 577.7778dp
- 580.0000dp
- 582.2222dp
- 584.4444dp
- 586.6667dp
- 588.8889dp
- 591.1111dp
- 593.3333dp
- 595.5556dp
- 597.7778dp
- 600.0000dp
- 602.2222dp
- 604.4444dp
- 606.6667dp
- 608.8889dp
- 611.1111dp
- 613.3333dp
- 615.5556dp
- 617.7778dp
- 620.0000dp
- 622.2222dp
- 624.4444dp
- 626.6667dp
- 628.8889dp
- 631.1111dp
- 633.3333dp
- 635.5556dp
- 637.7778dp
- 640.0000dp
- 642.2222dp
- 644.4444dp
- 646.6667dp
- 648.8889dp
- 651.1111dp
- 653.3333dp
- 655.5556dp
- 657.7778dp
- 660.0000dp
- 662.2222dp
- 664.4444dp
- 666.6667dp
- 668.8889dp
- 671.1111dp
- 673.3333dp
- 675.5556dp
- 677.7778dp
- 680.0000dp
- 682.2222dp
- 684.4444dp
- 686.6667dp
- 688.8889dp
- 691.1111dp
- 693.3333dp
- 695.5556dp
- 697.7778dp
- 700.0000dp
- 702.2222dp
- 704.4444dp
- 706.6667dp
- 708.8889dp
- 711.1111dp
- 713.3333dp
- 715.5556dp
- 717.7778dp
- 720.0000dp
- 722.2222dp
- 724.4444dp
- 726.6667dp
- 728.8889dp
- 731.1111dp
- 733.3333dp
- 735.5556dp
- 737.7778dp
- 740.0000dp
- 742.2222dp
- 744.4444dp
- 746.6667dp
- 748.8889dp
- 751.1111dp
- 753.3333dp
- 755.5556dp
- 757.7778dp
- 760.0000dp
- 762.2222dp
- 764.4444dp
- 766.6667dp
- 768.8889dp
- 771.1111dp
- 773.3333dp
- 775.5556dp
- 777.7778dp
- 780.0000dp
- 782.2222dp
- 784.4444dp
- 786.6667dp
- 788.8889dp
- 791.1111dp
- 793.3333dp
- 795.5556dp
- 797.7778dp
- 800.0000dp
- 811.1111dp
- 822.2222dp
- 888.8889dp
- 911.1111dp
- 937.7778dp
- 1048.8889dp
- 1111.1111dp
- 1333.3333dp
- 1422.2222dp
- 1600.0000dp
- 13.3333sp
- 15.5556sp
- 17.7778sp
- 20.0000sp
- 22.2222sp
- 24.4444sp
- 26.6667sp
- 28.8889sp
- 31.1111sp
- 33.3333sp
- 35.5556sp
- 37.7778sp
- 40.0000sp
- 42.2222sp
- 44.4444sp
- 46.6667sp
- 48.8889sp
- 51.1111sp
- 53.3333sp
- 55.5556sp
- 62.2222sp
- 66.6667sp
- 71.1111sp
- 75.5556sp
- 80.0000sp
- 84.4444sp
- 88.8889sp
- 93.3333sp
- 106.6667sp
-
diff --git a/app/src/main/res/values-sw811dp/dimens.xml b/app/src/main/res/values-sw811dp/dimens.xml
deleted file mode 100644
index 2efc0dc..0000000
--- a/app/src/main/res/values-sw811dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -135.1667dp
- -67.5833dp
- -45.0556dp
- -27.0333dp
- -22.5278dp
- -18.0222dp
- -11.2639dp
- -4.5056dp
- -2.2528dp
- 0.0000dp
- 0.2253dp
- 1.1264dp
- 2.2528dp
- 3.3792dp
- 4.5056dp
- 5.6319dp
- 6.7583dp
- 7.8847dp
- 9.0111dp
- 10.1375dp
- 11.2639dp
- 13.5167dp
- 15.7694dp
- 18.0222dp
- 20.2750dp
- 22.5278dp
- 24.7806dp
- 27.0333dp
- 29.2861dp
- 31.5389dp
- 33.7917dp
- 36.0444dp
- 38.2972dp
- 40.5500dp
- 42.8028dp
- 45.0556dp
- 47.3083dp
- 49.5611dp
- 51.8139dp
- 54.0667dp
- 56.3194dp
- 58.5722dp
- 60.8250dp
- 63.0778dp
- 65.3306dp
- 67.5833dp
- 69.8361dp
- 72.0889dp
- 74.3417dp
- 76.5944dp
- 78.8472dp
- 81.1000dp
- 83.3528dp
- 85.6056dp
- 87.8583dp
- 90.1111dp
- 92.3639dp
- 94.6167dp
- 96.8694dp
- 99.1222dp
- 101.3750dp
- 103.6278dp
- 105.8806dp
- 108.1333dp
- 110.3861dp
- 112.6389dp
- 114.8917dp
- 117.1444dp
- 119.3972dp
- 121.6500dp
- 123.9028dp
- 126.1556dp
- 128.4083dp
- 130.6611dp
- 132.9139dp
- 135.1667dp
- 137.4194dp
- 139.6722dp
- 141.9250dp
- 144.1778dp
- 146.4306dp
- 148.6833dp
- 150.9361dp
- 153.1889dp
- 155.4417dp
- 157.6944dp
- 159.9472dp
- 162.2000dp
- 164.4528dp
- 166.7056dp
- 168.9583dp
- 171.2111dp
- 173.4639dp
- 175.7167dp
- 177.9694dp
- 180.2222dp
- 182.4750dp
- 184.7278dp
- 186.9806dp
- 189.2333dp
- 191.4861dp
- 193.7389dp
- 195.9917dp
- 198.2444dp
- 200.4972dp
- 202.7500dp
- 205.0028dp
- 207.2556dp
- 209.5083dp
- 211.7611dp
- 214.0139dp
- 216.2667dp
- 218.5194dp
- 220.7722dp
- 223.0250dp
- 225.2778dp
- 227.5306dp
- 229.7833dp
- 232.0361dp
- 234.2889dp
- 236.5417dp
- 238.7944dp
- 241.0472dp
- 243.3000dp
- 245.5528dp
- 247.8056dp
- 250.0583dp
- 252.3111dp
- 254.5639dp
- 256.8167dp
- 259.0694dp
- 261.3222dp
- 263.5750dp
- 265.8278dp
- 268.0806dp
- 270.3333dp
- 272.5861dp
- 274.8389dp
- 277.0917dp
- 279.3444dp
- 281.5972dp
- 283.8500dp
- 286.1028dp
- 288.3556dp
- 290.6083dp
- 292.8611dp
- 295.1139dp
- 297.3667dp
- 299.6194dp
- 301.8722dp
- 304.1250dp
- 306.3778dp
- 308.6306dp
- 310.8833dp
- 313.1361dp
- 315.3889dp
- 317.6417dp
- 319.8944dp
- 322.1472dp
- 324.4000dp
- 326.6528dp
- 328.9056dp
- 331.1583dp
- 333.4111dp
- 335.6639dp
- 337.9167dp
- 340.1694dp
- 342.4222dp
- 344.6750dp
- 346.9278dp
- 349.1806dp
- 351.4333dp
- 353.6861dp
- 355.9389dp
- 358.1917dp
- 360.4444dp
- 362.6972dp
- 364.9500dp
- 367.2028dp
- 369.4556dp
- 371.7083dp
- 373.9611dp
- 376.2139dp
- 378.4667dp
- 380.7194dp
- 382.9722dp
- 385.2250dp
- 387.4778dp
- 389.7306dp
- 391.9833dp
- 394.2361dp
- 396.4889dp
- 398.7417dp
- 400.9944dp
- 403.2472dp
- 405.5000dp
- 407.7528dp
- 410.0056dp
- 412.2583dp
- 414.5111dp
- 416.7639dp
- 419.0167dp
- 421.2694dp
- 423.5222dp
- 425.7750dp
- 428.0278dp
- 430.2806dp
- 432.5333dp
- 434.7861dp
- 437.0389dp
- 439.2917dp
- 441.5444dp
- 443.7972dp
- 446.0500dp
- 448.3028dp
- 450.5556dp
- 452.8083dp
- 455.0611dp
- 457.3139dp
- 459.5667dp
- 461.8194dp
- 464.0722dp
- 466.3250dp
- 468.5778dp
- 470.8306dp
- 473.0833dp
- 475.3361dp
- 477.5889dp
- 479.8417dp
- 482.0944dp
- 484.3472dp
- 486.6000dp
- 488.8528dp
- 491.1056dp
- 493.3583dp
- 495.6111dp
- 497.8639dp
- 500.1167dp
- 502.3694dp
- 504.6222dp
- 506.8750dp
- 509.1278dp
- 511.3806dp
- 513.6333dp
- 515.8861dp
- 518.1389dp
- 520.3917dp
- 522.6444dp
- 524.8972dp
- 527.1500dp
- 529.4028dp
- 531.6556dp
- 533.9083dp
- 536.1611dp
- 538.4139dp
- 540.6667dp
- 542.9194dp
- 545.1722dp
- 547.4250dp
- 549.6778dp
- 551.9306dp
- 554.1833dp
- 556.4361dp
- 558.6889dp
- 560.9417dp
- 563.1944dp
- 565.4472dp
- 567.7000dp
- 569.9528dp
- 572.2056dp
- 574.4583dp
- 576.7111dp
- 578.9639dp
- 581.2167dp
- 583.4694dp
- 585.7222dp
- 587.9750dp
- 590.2278dp
- 592.4806dp
- 594.7333dp
- 596.9861dp
- 599.2389dp
- 601.4917dp
- 603.7444dp
- 605.9972dp
- 608.2500dp
- 610.5028dp
- 612.7556dp
- 615.0083dp
- 617.2611dp
- 619.5139dp
- 621.7667dp
- 624.0194dp
- 626.2722dp
- 628.5250dp
- 630.7778dp
- 633.0306dp
- 635.2833dp
- 637.5361dp
- 639.7889dp
- 642.0417dp
- 644.2944dp
- 646.5472dp
- 648.8000dp
- 651.0528dp
- 653.3056dp
- 655.5583dp
- 657.8111dp
- 660.0639dp
- 662.3167dp
- 664.5694dp
- 666.8222dp
- 669.0750dp
- 671.3278dp
- 673.5806dp
- 675.8333dp
- 678.0861dp
- 680.3389dp
- 682.5917dp
- 684.8444dp
- 687.0972dp
- 689.3500dp
- 691.6028dp
- 693.8556dp
- 696.1083dp
- 698.3611dp
- 700.6139dp
- 702.8667dp
- 705.1194dp
- 707.3722dp
- 709.6250dp
- 711.8778dp
- 714.1306dp
- 716.3833dp
- 718.6361dp
- 720.8889dp
- 723.1417dp
- 725.3944dp
- 727.6472dp
- 729.9000dp
- 732.1528dp
- 734.4056dp
- 736.6583dp
- 738.9111dp
- 741.1639dp
- 743.4167dp
- 745.6694dp
- 747.9222dp
- 750.1750dp
- 752.4278dp
- 754.6806dp
- 756.9333dp
- 759.1861dp
- 761.4389dp
- 763.6917dp
- 765.9444dp
- 768.1972dp
- 770.4500dp
- 772.7028dp
- 774.9556dp
- 777.2083dp
- 779.4611dp
- 781.7139dp
- 783.9667dp
- 786.2194dp
- 788.4722dp
- 790.7250dp
- 792.9778dp
- 795.2306dp
- 797.4833dp
- 799.7361dp
- 801.9889dp
- 804.2417dp
- 806.4944dp
- 808.7472dp
- 811.0000dp
- 822.2639dp
- 833.5278dp
- 901.1111dp
- 923.6389dp
- 950.6722dp
- 1063.3111dp
- 1126.3889dp
- 1351.6667dp
- 1441.7778dp
- 1622.0000dp
- 13.5167sp
- 15.7694sp
- 18.0222sp
- 20.2750sp
- 22.5278sp
- 24.7806sp
- 27.0333sp
- 29.2861sp
- 31.5389sp
- 33.7917sp
- 36.0444sp
- 38.2972sp
- 40.5500sp
- 42.8028sp
- 45.0556sp
- 47.3083sp
- 49.5611sp
- 51.8139sp
- 54.0667sp
- 56.3194sp
- 63.0778sp
- 67.5833sp
- 72.0889sp
- 76.5944sp
- 81.1000sp
- 85.6056sp
- 90.1111sp
- 94.6167sp
- 108.1333sp
-
diff --git a/app/src/main/res/values-sw820dp/dimens.xml b/app/src/main/res/values-sw820dp/dimens.xml
deleted file mode 100644
index e1e21b6..0000000
--- a/app/src/main/res/values-sw820dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -136.6667dp
- -68.3333dp
- -45.5556dp
- -27.3333dp
- -22.7778dp
- -18.2222dp
- -11.3889dp
- -4.5556dp
- -2.2778dp
- 0.0000dp
- 0.2278dp
- 1.1389dp
- 2.2778dp
- 3.4167dp
- 4.5556dp
- 5.6944dp
- 6.8333dp
- 7.9722dp
- 9.1111dp
- 10.2500dp
- 11.3889dp
- 13.6667dp
- 15.9444dp
- 18.2222dp
- 20.5000dp
- 22.7778dp
- 25.0556dp
- 27.3333dp
- 29.6111dp
- 31.8889dp
- 34.1667dp
- 36.4444dp
- 38.7222dp
- 41.0000dp
- 43.2778dp
- 45.5556dp
- 47.8333dp
- 50.1111dp
- 52.3889dp
- 54.6667dp
- 56.9444dp
- 59.2222dp
- 61.5000dp
- 63.7778dp
- 66.0556dp
- 68.3333dp
- 70.6111dp
- 72.8889dp
- 75.1667dp
- 77.4444dp
- 79.7222dp
- 82.0000dp
- 84.2778dp
- 86.5556dp
- 88.8333dp
- 91.1111dp
- 93.3889dp
- 95.6667dp
- 97.9444dp
- 100.2222dp
- 102.5000dp
- 104.7778dp
- 107.0556dp
- 109.3333dp
- 111.6111dp
- 113.8889dp
- 116.1667dp
- 118.4444dp
- 120.7222dp
- 123.0000dp
- 125.2778dp
- 127.5556dp
- 129.8333dp
- 132.1111dp
- 134.3889dp
- 136.6667dp
- 138.9444dp
- 141.2222dp
- 143.5000dp
- 145.7778dp
- 148.0556dp
- 150.3333dp
- 152.6111dp
- 154.8889dp
- 157.1667dp
- 159.4444dp
- 161.7222dp
- 164.0000dp
- 166.2778dp
- 168.5556dp
- 170.8333dp
- 173.1111dp
- 175.3889dp
- 177.6667dp
- 179.9444dp
- 182.2222dp
- 184.5000dp
- 186.7778dp
- 189.0556dp
- 191.3333dp
- 193.6111dp
- 195.8889dp
- 198.1667dp
- 200.4444dp
- 202.7222dp
- 205.0000dp
- 207.2778dp
- 209.5556dp
- 211.8333dp
- 214.1111dp
- 216.3889dp
- 218.6667dp
- 220.9444dp
- 223.2222dp
- 225.5000dp
- 227.7778dp
- 230.0556dp
- 232.3333dp
- 234.6111dp
- 236.8889dp
- 239.1667dp
- 241.4444dp
- 243.7222dp
- 246.0000dp
- 248.2778dp
- 250.5556dp
- 252.8333dp
- 255.1111dp
- 257.3889dp
- 259.6667dp
- 261.9444dp
- 264.2222dp
- 266.5000dp
- 268.7778dp
- 271.0556dp
- 273.3333dp
- 275.6111dp
- 277.8889dp
- 280.1667dp
- 282.4444dp
- 284.7222dp
- 287.0000dp
- 289.2778dp
- 291.5556dp
- 293.8333dp
- 296.1111dp
- 298.3889dp
- 300.6667dp
- 302.9444dp
- 305.2222dp
- 307.5000dp
- 309.7778dp
- 312.0556dp
- 314.3333dp
- 316.6111dp
- 318.8889dp
- 321.1667dp
- 323.4444dp
- 325.7222dp
- 328.0000dp
- 330.2778dp
- 332.5556dp
- 334.8333dp
- 337.1111dp
- 339.3889dp
- 341.6667dp
- 343.9444dp
- 346.2222dp
- 348.5000dp
- 350.7778dp
- 353.0556dp
- 355.3333dp
- 357.6111dp
- 359.8889dp
- 362.1667dp
- 364.4444dp
- 366.7222dp
- 369.0000dp
- 371.2778dp
- 373.5556dp
- 375.8333dp
- 378.1111dp
- 380.3889dp
- 382.6667dp
- 384.9444dp
- 387.2222dp
- 389.5000dp
- 391.7778dp
- 394.0556dp
- 396.3333dp
- 398.6111dp
- 400.8889dp
- 403.1667dp
- 405.4444dp
- 407.7222dp
- 410.0000dp
- 412.2778dp
- 414.5556dp
- 416.8333dp
- 419.1111dp
- 421.3889dp
- 423.6667dp
- 425.9444dp
- 428.2222dp
- 430.5000dp
- 432.7778dp
- 435.0556dp
- 437.3333dp
- 439.6111dp
- 441.8889dp
- 444.1667dp
- 446.4444dp
- 448.7222dp
- 451.0000dp
- 453.2778dp
- 455.5556dp
- 457.8333dp
- 460.1111dp
- 462.3889dp
- 464.6667dp
- 466.9444dp
- 469.2222dp
- 471.5000dp
- 473.7778dp
- 476.0556dp
- 478.3333dp
- 480.6111dp
- 482.8889dp
- 485.1667dp
- 487.4444dp
- 489.7222dp
- 492.0000dp
- 494.2778dp
- 496.5556dp
- 498.8333dp
- 501.1111dp
- 503.3889dp
- 505.6667dp
- 507.9444dp
- 510.2222dp
- 512.5000dp
- 514.7778dp
- 517.0556dp
- 519.3333dp
- 521.6111dp
- 523.8889dp
- 526.1667dp
- 528.4444dp
- 530.7222dp
- 533.0000dp
- 535.2778dp
- 537.5556dp
- 539.8333dp
- 542.1111dp
- 544.3889dp
- 546.6667dp
- 548.9444dp
- 551.2222dp
- 553.5000dp
- 555.7778dp
- 558.0556dp
- 560.3333dp
- 562.6111dp
- 564.8889dp
- 567.1667dp
- 569.4444dp
- 571.7222dp
- 574.0000dp
- 576.2778dp
- 578.5556dp
- 580.8333dp
- 583.1111dp
- 585.3889dp
- 587.6667dp
- 589.9444dp
- 592.2222dp
- 594.5000dp
- 596.7778dp
- 599.0556dp
- 601.3333dp
- 603.6111dp
- 605.8889dp
- 608.1667dp
- 610.4444dp
- 612.7222dp
- 615.0000dp
- 617.2778dp
- 619.5556dp
- 621.8333dp
- 624.1111dp
- 626.3889dp
- 628.6667dp
- 630.9444dp
- 633.2222dp
- 635.5000dp
- 637.7778dp
- 640.0556dp
- 642.3333dp
- 644.6111dp
- 646.8889dp
- 649.1667dp
- 651.4444dp
- 653.7222dp
- 656.0000dp
- 658.2778dp
- 660.5556dp
- 662.8333dp
- 665.1111dp
- 667.3889dp
- 669.6667dp
- 671.9444dp
- 674.2222dp
- 676.5000dp
- 678.7778dp
- 681.0556dp
- 683.3333dp
- 685.6111dp
- 687.8889dp
- 690.1667dp
- 692.4444dp
- 694.7222dp
- 697.0000dp
- 699.2778dp
- 701.5556dp
- 703.8333dp
- 706.1111dp
- 708.3889dp
- 710.6667dp
- 712.9444dp
- 715.2222dp
- 717.5000dp
- 719.7778dp
- 722.0556dp
- 724.3333dp
- 726.6111dp
- 728.8889dp
- 731.1667dp
- 733.4444dp
- 735.7222dp
- 738.0000dp
- 740.2778dp
- 742.5556dp
- 744.8333dp
- 747.1111dp
- 749.3889dp
- 751.6667dp
- 753.9444dp
- 756.2222dp
- 758.5000dp
- 760.7778dp
- 763.0556dp
- 765.3333dp
- 767.6111dp
- 769.8889dp
- 772.1667dp
- 774.4444dp
- 776.7222dp
- 779.0000dp
- 781.2778dp
- 783.5556dp
- 785.8333dp
- 788.1111dp
- 790.3889dp
- 792.6667dp
- 794.9444dp
- 797.2222dp
- 799.5000dp
- 801.7778dp
- 804.0556dp
- 806.3333dp
- 808.6111dp
- 810.8889dp
- 813.1667dp
- 815.4444dp
- 817.7222dp
- 820.0000dp
- 831.3889dp
- 842.7778dp
- 911.1111dp
- 933.8889dp
- 961.2222dp
- 1075.1111dp
- 1138.8889dp
- 1366.6667dp
- 1457.7778dp
- 1640.0000dp
- 13.6667sp
- 15.9444sp
- 18.2222sp
- 20.5000sp
- 22.7778sp
- 25.0556sp
- 27.3333sp
- 29.6111sp
- 31.8889sp
- 34.1667sp
- 36.4444sp
- 38.7222sp
- 41.0000sp
- 43.2778sp
- 45.5556sp
- 47.8333sp
- 50.1111sp
- 52.3889sp
- 54.6667sp
- 56.9444sp
- 63.7778sp
- 68.3333sp
- 72.8889sp
- 77.4444sp
- 82.0000sp
- 86.5556sp
- 91.1111sp
- 95.6667sp
- 109.3333sp
-
diff --git a/app/src/main/res/values-sw960dp/dimens.xml b/app/src/main/res/values-sw960dp/dimens.xml
deleted file mode 100644
index 8cee169..0000000
--- a/app/src/main/res/values-sw960dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -160.0000dp
- -80.0000dp
- -53.3333dp
- -32.0000dp
- -26.6667dp
- -21.3333dp
- -13.3333dp
- -5.3333dp
- -2.6667dp
- 0.0000dp
- 0.2667dp
- 1.3333dp
- 2.6667dp
- 4.0000dp
- 5.3333dp
- 6.6667dp
- 8.0000dp
- 9.3333dp
- 10.6667dp
- 12.0000dp
- 13.3333dp
- 16.0000dp
- 18.6667dp
- 21.3333dp
- 24.0000dp
- 26.6667dp
- 29.3333dp
- 32.0000dp
- 34.6667dp
- 37.3333dp
- 40.0000dp
- 42.6667dp
- 45.3333dp
- 48.0000dp
- 50.6667dp
- 53.3333dp
- 56.0000dp
- 58.6667dp
- 61.3333dp
- 64.0000dp
- 66.6667dp
- 69.3333dp
- 72.0000dp
- 74.6667dp
- 77.3333dp
- 80.0000dp
- 82.6667dp
- 85.3333dp
- 88.0000dp
- 90.6667dp
- 93.3333dp
- 96.0000dp
- 98.6667dp
- 101.3333dp
- 104.0000dp
- 106.6667dp
- 109.3333dp
- 112.0000dp
- 114.6667dp
- 117.3333dp
- 120.0000dp
- 122.6667dp
- 125.3333dp
- 128.0000dp
- 130.6667dp
- 133.3333dp
- 136.0000dp
- 138.6667dp
- 141.3333dp
- 144.0000dp
- 146.6667dp
- 149.3333dp
- 152.0000dp
- 154.6667dp
- 157.3333dp
- 160.0000dp
- 162.6667dp
- 165.3333dp
- 168.0000dp
- 170.6667dp
- 173.3333dp
- 176.0000dp
- 178.6667dp
- 181.3333dp
- 184.0000dp
- 186.6667dp
- 189.3333dp
- 192.0000dp
- 194.6667dp
- 197.3333dp
- 200.0000dp
- 202.6667dp
- 205.3333dp
- 208.0000dp
- 210.6667dp
- 213.3333dp
- 216.0000dp
- 218.6667dp
- 221.3333dp
- 224.0000dp
- 226.6667dp
- 229.3333dp
- 232.0000dp
- 234.6667dp
- 237.3333dp
- 240.0000dp
- 242.6667dp
- 245.3333dp
- 248.0000dp
- 250.6667dp
- 253.3333dp
- 256.0000dp
- 258.6667dp
- 261.3333dp
- 264.0000dp
- 266.6667dp
- 269.3333dp
- 272.0000dp
- 274.6667dp
- 277.3333dp
- 280.0000dp
- 282.6667dp
- 285.3333dp
- 288.0000dp
- 290.6667dp
- 293.3333dp
- 296.0000dp
- 298.6667dp
- 301.3333dp
- 304.0000dp
- 306.6667dp
- 309.3333dp
- 312.0000dp
- 314.6667dp
- 317.3333dp
- 320.0000dp
- 322.6667dp
- 325.3333dp
- 328.0000dp
- 330.6667dp
- 333.3333dp
- 336.0000dp
- 338.6667dp
- 341.3333dp
- 344.0000dp
- 346.6667dp
- 349.3333dp
- 352.0000dp
- 354.6667dp
- 357.3333dp
- 360.0000dp
- 362.6667dp
- 365.3333dp
- 368.0000dp
- 370.6667dp
- 373.3333dp
- 376.0000dp
- 378.6667dp
- 381.3333dp
- 384.0000dp
- 386.6667dp
- 389.3333dp
- 392.0000dp
- 394.6667dp
- 397.3333dp
- 400.0000dp
- 402.6667dp
- 405.3333dp
- 408.0000dp
- 410.6667dp
- 413.3333dp
- 416.0000dp
- 418.6667dp
- 421.3333dp
- 424.0000dp
- 426.6667dp
- 429.3333dp
- 432.0000dp
- 434.6667dp
- 437.3333dp
- 440.0000dp
- 442.6667dp
- 445.3333dp
- 448.0000dp
- 450.6667dp
- 453.3333dp
- 456.0000dp
- 458.6667dp
- 461.3333dp
- 464.0000dp
- 466.6667dp
- 469.3333dp
- 472.0000dp
- 474.6667dp
- 477.3333dp
- 480.0000dp
- 482.6667dp
- 485.3333dp
- 488.0000dp
- 490.6667dp
- 493.3333dp
- 496.0000dp
- 498.6667dp
- 501.3333dp
- 504.0000dp
- 506.6667dp
- 509.3333dp
- 512.0000dp
- 514.6667dp
- 517.3333dp
- 520.0000dp
- 522.6667dp
- 525.3333dp
- 528.0000dp
- 530.6667dp
- 533.3333dp
- 536.0000dp
- 538.6667dp
- 541.3333dp
- 544.0000dp
- 546.6667dp
- 549.3333dp
- 552.0000dp
- 554.6667dp
- 557.3333dp
- 560.0000dp
- 562.6667dp
- 565.3333dp
- 568.0000dp
- 570.6667dp
- 573.3333dp
- 576.0000dp
- 578.6667dp
- 581.3333dp
- 584.0000dp
- 586.6667dp
- 589.3333dp
- 592.0000dp
- 594.6667dp
- 597.3333dp
- 600.0000dp
- 602.6667dp
- 605.3333dp
- 608.0000dp
- 610.6667dp
- 613.3333dp
- 616.0000dp
- 618.6667dp
- 621.3333dp
- 624.0000dp
- 626.6667dp
- 629.3333dp
- 632.0000dp
- 634.6667dp
- 637.3333dp
- 640.0000dp
- 642.6667dp
- 645.3333dp
- 648.0000dp
- 650.6667dp
- 653.3333dp
- 656.0000dp
- 658.6667dp
- 661.3333dp
- 664.0000dp
- 666.6667dp
- 669.3333dp
- 672.0000dp
- 674.6667dp
- 677.3333dp
- 680.0000dp
- 682.6667dp
- 685.3333dp
- 688.0000dp
- 690.6667dp
- 693.3333dp
- 696.0000dp
- 698.6667dp
- 701.3333dp
- 704.0000dp
- 706.6667dp
- 709.3333dp
- 712.0000dp
- 714.6667dp
- 717.3333dp
- 720.0000dp
- 722.6667dp
- 725.3333dp
- 728.0000dp
- 730.6667dp
- 733.3333dp
- 736.0000dp
- 738.6667dp
- 741.3333dp
- 744.0000dp
- 746.6667dp
- 749.3333dp
- 752.0000dp
- 754.6667dp
- 757.3333dp
- 760.0000dp
- 762.6667dp
- 765.3333dp
- 768.0000dp
- 770.6667dp
- 773.3333dp
- 776.0000dp
- 778.6667dp
- 781.3333dp
- 784.0000dp
- 786.6667dp
- 789.3333dp
- 792.0000dp
- 794.6667dp
- 797.3333dp
- 800.0000dp
- 802.6667dp
- 805.3333dp
- 808.0000dp
- 810.6667dp
- 813.3333dp
- 816.0000dp
- 818.6667dp
- 821.3333dp
- 824.0000dp
- 826.6667dp
- 829.3333dp
- 832.0000dp
- 834.6667dp
- 837.3333dp
- 840.0000dp
- 842.6667dp
- 845.3333dp
- 848.0000dp
- 850.6667dp
- 853.3333dp
- 856.0000dp
- 858.6667dp
- 861.3333dp
- 864.0000dp
- 866.6667dp
- 869.3333dp
- 872.0000dp
- 874.6667dp
- 877.3333dp
- 880.0000dp
- 882.6667dp
- 885.3333dp
- 888.0000dp
- 890.6667dp
- 893.3333dp
- 896.0000dp
- 898.6667dp
- 901.3333dp
- 904.0000dp
- 906.6667dp
- 909.3333dp
- 912.0000dp
- 914.6667dp
- 917.3333dp
- 920.0000dp
- 922.6667dp
- 925.3333dp
- 928.0000dp
- 930.6667dp
- 933.3333dp
- 936.0000dp
- 938.6667dp
- 941.3333dp
- 944.0000dp
- 946.6667dp
- 949.3333dp
- 952.0000dp
- 954.6667dp
- 957.3333dp
- 960.0000dp
- 973.3333dp
- 986.6667dp
- 1066.6667dp
- 1093.3333dp
- 1125.3333dp
- 1258.6667dp
- 1333.3333dp
- 1600.0000dp
- 1706.6667dp
- 1920.0000dp
- 16.0000sp
- 18.6667sp
- 21.3333sp
- 24.0000sp
- 26.6667sp
- 29.3333sp
- 32.0000sp
- 34.6667sp
- 37.3333sp
- 40.0000sp
- 42.6667sp
- 45.3333sp
- 48.0000sp
- 50.6667sp
- 53.3333sp
- 56.0000sp
- 58.6667sp
- 61.3333sp
- 64.0000sp
- 66.6667sp
- 74.6667sp
- 80.0000sp
- 85.3333sp
- 90.6667sp
- 96.0000sp
- 101.3333sp
- 106.6667sp
- 112.0000sp
- 128.0000sp
-
diff --git a/app/src/main/res/values-sw961dp/dimens.xml b/app/src/main/res/values-sw961dp/dimens.xml
deleted file mode 100644
index bec6f70..0000000
--- a/app/src/main/res/values-sw961dp/dimens.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-
-
- @dimen/dp_15
- -160.1667dp
- -80.0833dp
- -53.3889dp
- -32.0333dp
- -26.6944dp
- -21.3556dp
- -13.3472dp
- -5.3389dp
- -2.6694dp
- 0.0000dp
- 0.2669dp
- 1.3347dp
- 2.6694dp
- 4.0042dp
- 5.3389dp
- 6.6736dp
- 8.0083dp
- 9.3431dp
- 10.6778dp
- 12.0125dp
- 13.3472dp
- 16.0167dp
- 18.6861dp
- 21.3556dp
- 24.0250dp
- 26.6944dp
- 29.3639dp
- 32.0333dp
- 34.7028dp
- 37.3722dp
- 40.0417dp
- 42.7111dp
- 45.3806dp
- 48.0500dp
- 50.7194dp
- 53.3889dp
- 56.0583dp
- 58.7278dp
- 61.3972dp
- 64.0667dp
- 66.7361dp
- 69.4056dp
- 72.0750dp
- 74.7444dp
- 77.4139dp
- 80.0833dp
- 82.7528dp
- 85.4222dp
- 88.0917dp
- 90.7611dp
- 93.4306dp
- 96.1000dp
- 98.7694dp
- 101.4389dp
- 104.1083dp
- 106.7778dp
- 109.4472dp
- 112.1167dp
- 114.7861dp
- 117.4556dp
- 120.1250dp
- 122.7944dp
- 125.4639dp
- 128.1333dp
- 130.8028dp
- 133.4722dp
- 136.1417dp
- 138.8111dp
- 141.4806dp
- 144.1500dp
- 146.8194dp
- 149.4889dp
- 152.1583dp
- 154.8278dp
- 157.4972dp
- 160.1667dp
- 162.8361dp
- 165.5056dp
- 168.1750dp
- 170.8444dp
- 173.5139dp
- 176.1833dp
- 178.8528dp
- 181.5222dp
- 184.1917dp
- 186.8611dp
- 189.5306dp
- 192.2000dp
- 194.8694dp
- 197.5389dp
- 200.2083dp
- 202.8778dp
- 205.5472dp
- 208.2167dp
- 210.8861dp
- 213.5556dp
- 216.2250dp
- 218.8944dp
- 221.5639dp
- 224.2333dp
- 226.9028dp
- 229.5722dp
- 232.2417dp
- 234.9111dp
- 237.5806dp
- 240.2500dp
- 242.9194dp
- 245.5889dp
- 248.2583dp
- 250.9278dp
- 253.5972dp
- 256.2667dp
- 258.9361dp
- 261.6056dp
- 264.2750dp
- 266.9444dp
- 269.6139dp
- 272.2833dp
- 274.9528dp
- 277.6222dp
- 280.2917dp
- 282.9611dp
- 285.6306dp
- 288.3000dp
- 290.9694dp
- 293.6389dp
- 296.3083dp
- 298.9778dp
- 301.6472dp
- 304.3167dp
- 306.9861dp
- 309.6556dp
- 312.3250dp
- 314.9944dp
- 317.6639dp
- 320.3333dp
- 323.0028dp
- 325.6722dp
- 328.3417dp
- 331.0111dp
- 333.6806dp
- 336.3500dp
- 339.0194dp
- 341.6889dp
- 344.3583dp
- 347.0278dp
- 349.6972dp
- 352.3667dp
- 355.0361dp
- 357.7056dp
- 360.3750dp
- 363.0444dp
- 365.7139dp
- 368.3833dp
- 371.0528dp
- 373.7222dp
- 376.3917dp
- 379.0611dp
- 381.7306dp
- 384.4000dp
- 387.0694dp
- 389.7389dp
- 392.4083dp
- 395.0778dp
- 397.7472dp
- 400.4167dp
- 403.0861dp
- 405.7556dp
- 408.4250dp
- 411.0944dp
- 413.7639dp
- 416.4333dp
- 419.1028dp
- 421.7722dp
- 424.4417dp
- 427.1111dp
- 429.7806dp
- 432.4500dp
- 435.1194dp
- 437.7889dp
- 440.4583dp
- 443.1278dp
- 445.7972dp
- 448.4667dp
- 451.1361dp
- 453.8056dp
- 456.4750dp
- 459.1444dp
- 461.8139dp
- 464.4833dp
- 467.1528dp
- 469.8222dp
- 472.4917dp
- 475.1611dp
- 477.8306dp
- 480.5000dp
- 483.1694dp
- 485.8389dp
- 488.5083dp
- 491.1778dp
- 493.8472dp
- 496.5167dp
- 499.1861dp
- 501.8556dp
- 504.5250dp
- 507.1944dp
- 509.8639dp
- 512.5333dp
- 515.2028dp
- 517.8722dp
- 520.5417dp
- 523.2111dp
- 525.8806dp
- 528.5500dp
- 531.2194dp
- 533.8889dp
- 536.5583dp
- 539.2278dp
- 541.8972dp
- 544.5667dp
- 547.2361dp
- 549.9056dp
- 552.5750dp
- 555.2444dp
- 557.9139dp
- 560.5833dp
- 563.2528dp
- 565.9222dp
- 568.5917dp
- 571.2611dp
- 573.9306dp
- 576.6000dp
- 579.2694dp
- 581.9389dp
- 584.6083dp
- 587.2778dp
- 589.9472dp
- 592.6167dp
- 595.2861dp
- 597.9556dp
- 600.6250dp
- 603.2944dp
- 605.9639dp
- 608.6333dp
- 611.3028dp
- 613.9722dp
- 616.6417dp
- 619.3111dp
- 621.9806dp
- 624.6500dp
- 627.3194dp
- 629.9889dp
- 632.6583dp
- 635.3278dp
- 637.9972dp
- 640.6667dp
- 643.3361dp
- 646.0056dp
- 648.6750dp
- 651.3444dp
- 654.0139dp
- 656.6833dp
- 659.3528dp
- 662.0222dp
- 664.6917dp
- 667.3611dp
- 670.0306dp
- 672.7000dp
- 675.3694dp
- 678.0389dp
- 680.7083dp
- 683.3778dp
- 686.0472dp
- 688.7167dp
- 691.3861dp
- 694.0556dp
- 696.7250dp
- 699.3944dp
- 702.0639dp
- 704.7333dp
- 707.4028dp
- 710.0722dp
- 712.7417dp
- 715.4111dp
- 718.0806dp
- 720.7500dp
- 723.4194dp
- 726.0889dp
- 728.7583dp
- 731.4278dp
- 734.0972dp
- 736.7667dp
- 739.4361dp
- 742.1056dp
- 744.7750dp
- 747.4444dp
- 750.1139dp
- 752.7833dp
- 755.4528dp
- 758.1222dp
- 760.7917dp
- 763.4611dp
- 766.1306dp
- 768.8000dp
- 771.4694dp
- 774.1389dp
- 776.8083dp
- 779.4778dp
- 782.1472dp
- 784.8167dp
- 787.4861dp
- 790.1556dp
- 792.8250dp
- 795.4944dp
- 798.1639dp
- 800.8333dp
- 803.5028dp
- 806.1722dp
- 808.8417dp
- 811.5111dp
- 814.1806dp
- 816.8500dp
- 819.5194dp
- 822.1889dp
- 824.8583dp
- 827.5278dp
- 830.1972dp
- 832.8667dp
- 835.5361dp
- 838.2056dp
- 840.8750dp
- 843.5444dp
- 846.2139dp
- 848.8833dp
- 851.5528dp
- 854.2222dp
- 856.8917dp
- 859.5611dp
- 862.2306dp
- 864.9000dp
- 867.5694dp
- 870.2389dp
- 872.9083dp
- 875.5778dp
- 878.2472dp
- 880.9167dp
- 883.5861dp
- 886.2556dp
- 888.9250dp
- 891.5944dp
- 894.2639dp
- 896.9333dp
- 899.6028dp
- 902.2722dp
- 904.9417dp
- 907.6111dp
- 910.2806dp
- 912.9500dp
- 915.6194dp
- 918.2889dp
- 920.9583dp
- 923.6278dp
- 926.2972dp
- 928.9667dp
- 931.6361dp
- 934.3056dp
- 936.9750dp
- 939.6444dp
- 942.3139dp
- 944.9833dp
- 947.6528dp
- 950.3222dp
- 952.9917dp
- 955.6611dp
- 958.3306dp
- 961.0000dp
- 974.3472dp
- 987.6944dp
- 1067.7778dp
- 1094.4722dp
- 1126.5056dp
- 1259.9778dp
- 1334.7222dp
- 1601.6667dp
- 1708.4444dp
- 1922.0000dp
- 16.0167sp
- 18.6861sp
- 21.3556sp
- 24.0250sp
- 26.6944sp
- 29.3639sp
- 32.0333sp
- 34.7028sp
- 37.3722sp
- 40.0417sp
- 42.7111sp
- 45.3806sp
- 48.0500sp
- 50.7194sp
- 53.3889sp
- 56.0583sp
- 58.7278sp
- 61.3972sp
- 64.0667sp
- 66.7361sp
- 74.7444sp
- 80.0833sp
- 85.4222sp
- 90.7611sp
- 96.1000sp
- 101.4389sp
- 106.7778sp
- 112.1167sp
- 128.1333sp
-
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
deleted file mode 100644
index f026464..0000000
--- a/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,427 +0,0 @@
-
-
-
-
- @dimen/dp_15
-
-
-
- -60dp
- -30dp
- -20dp
- -12dp
- -10dp
- -8dp
- -5dp
- -2dp
- -1dp
- 0dp
- 0.1dp
- 0.5dp
- 1dp
- 1.5dp
- 2dp
- 2.5dp
- 3dp
- 3.5dp
- 4dp
- 4.5dp
- 5dp
- 6dp
- 7dp
- 8dp
- 9dp
- 10dp
- 11dp
- 12dp
- 13dp
- 14dp
- 15dp
- 16dp
- 17dp
- 18dp
- 19dp
- 20dp
- 21dp
- 22dp
- 23dp
- 24dp
- 25dp
- 26dp
- 27dp
- 28dp
- 29dp
- 30dp
- 31dp
- 32dp
- 33dp
- 34dp
- 35dp
- 36dp
- 37dp
- 38dp
- 39dp
- 40dp
- 41dp
- 42dp
- 43dp
- 44dp
- 45dp
- 46dp
- 47dp
- 48dp
- 49dp
- 50dp
- 51dp
- 52dp
- 53dp
- 54dp
- 55dp
- 56dp
- 57dp
- 58dp
- 59dp
- 60dp
- 61dp
- 62dp
- 63dp
- 64dp
- 65dp
- 66dp
- 67dp
- 68dp
- 69dp
- 70dp
- 71dp
- 72dp
- 73dp
- 74dp
- 75dp
- 76dp
- 77dp
- 78dp
- 79dp
- 80dp
- 81dp
- 82dp
- 83dp
- 84dp
- 85dp
- 86dp
- 87dp
- 88dp
- 89dp
- 90dp
- 91dp
- 92dp
- 93dp
- 94dp
- 95dp
- 96dp
- 97dp
- 98dp
- 99dp
- 100dp
- 101dp
- 102dp
- 103dp
- 104dp
- 105dp
- 106dp
- 107dp
- 108dp
- 109dp
- 110dp
- 111dp
- 112dp
- 113dp
- 114dp
- 115dp
- 116dp
- 117dp
- 118dp
- 119dp
- 120dp
- 121dp
- 122dp
- 123dp
- 124dp
- 125dp
- 126dp
- 127dp
- 128dp
- 129dp
- 130dp
- 131dp
- 132dp
- 133dp
- 134dp
- 135dp
- 136dp
- 137dp
- 138dp
- 139dp
- 140dp
- 141dp
- 142dp
- 143dp
- 144dp
- 145dp
- 146dp
- 147dp
- 148dp
- 149dp
- 150dp
- 151dp
- 152dp
- 153dp
- 154dp
- 155dp
- 156dp
- 157dp
- 158dp
- 159dp
- 160dp
- 161dp
- 162dp
- 163dp
- 164dp
- 165dp
- 166dp
- 167dp
- 168dp
- 169dp
- 170dp
- 171dp
- 172dp
- 173dp
- 174dp
- 175dp
- 176dp
- 177dp
- 178dp
- 179dp
- 180dp
- 181dp
- 182dp
- 183dp
- 184dp
- 185dp
- 186dp
- 187dp
- 188dp
- 189dp
- 190dp
- 191dp
- 192dp
- 193dp
- 194dp
- 195dp
- 196dp
- 197dp
- 198dp
- 199dp
- 200dp
- 201dp
- 202dp
- 203dp
- 204dp
- 205dp
- 206dp
- 207dp
- 208dp
- 209dp
- 210dp
- 211dp
- 212dp
- 213dp
- 214dp
- 215dp
- 216dp
- 217dp
- 218dp
- 219dp
- 220dp
- 221dp
- 222dp
- 223dp
- 224dp
- 225dp
- 226dp
- 227dp
- 228dp
- 229dp
- 230dp
- 231dp
- 232dp
- 233dp
- 234dp
- 235dp
- 236dp
- 237dp
- 238dp
- 239dp
- 240dp
- 241dp
- 242dp
- 243dp
- 244dp
- 245dp
- 246dp
- 247dp
- 248dp
- 249dp
- 250dp
- 251dp
- 252dp
- 253dp
- 254dp
- 255dp
- 256dp
- 257dp
- 258dp
- 259dp
- 260dp
- 261dp
- 262dp
- 263dp
- 264dp
- 265dp
- 266dp
- 267dp
- 268dp
- 269dp
- 270dp
- 271dp
- 272dp
- 273dp
- 274dp
- 275dp
- 276dp
- 277dp
- 278dp
- 279dp
- 280dp
- 281dp
- 282dp
- 283dp
- 284dp
- 285dp
- 286dp
- 287dp
- 288dp
- 289dp
- 290dp
- 291dp
- 292dp
- 293dp
- 294dp
- 295dp
- 296dp
- 297dp
- 298dp
- 299dp
- 300dp
- 301dp
- 302dp
- 303dp
- 304dp
- 305dp
- 306dp
- 307dp
- 308dp
- 309dp
- 310dp
- 311dp
- 312dp
- 313dp
- 314dp
- 315dp
- 316dp
- 317dp
- 318dp
- 319dp
- 320dp
- 321dp
- 322dp
- 323dp
- 324dp
- 325dp
- 326dp
- 327dp
- 328dp
- 329dp
- 330dp
- 331dp
- 332dp
- 333dp
- 334dp
- 335dp
- 336dp
- 337dp
- 338dp
- 339dp
- 340dp
- 341dp
- 342dp
- 343dp
- 344dp
- 345dp
- 346dp
- 347dp
- 348dp
- 349dp
- 350dp
- 351dp
- 352dp
- 353dp
- 354dp
- 355dp
- 356dp
- 357dp
- 358dp
- 359dp
- 360dp
- 365dp
- 370dp
- 400dp
- 410dp
- 422dp
- 472dp
- 500dp
- 600dp
- 640dp
- 720dp
-
-
- 6sp
- 7sp
- 8sp
- 9sp
- 10sp
- 11sp
- 12sp
- 13sp
- 14sp
- 15sp
- 16sp
- 17sp
- 18sp
- 19sp
- 20sp
- 21sp
- 22sp
- 23sp
- 24sp
- 25sp
- 28sp
- 30sp
- 32sp
- 34sp
- 36sp
- 38sp
- 40sp
- 42sp
- 48sp
-
-