diff --git a/app/build.gradle b/app/build.gradle
index 649f08e..ff32c32 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -17,8 +17,8 @@ android {
applicationId "com.xxpatx.os"
minSdkVersion 24
targetSdkVersion 29
- versionCode 1071
- versionName "1.7.1"
+ versionCode 1073
+ versionName "1.7.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cfd0676..6fc5464 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -156,11 +156,11 @@
+
+
{
private static final String TAG = "AlarmEditActivity";
@@ -99,10 +97,12 @@ public class AlarmEditActivity extends BaseMvvmActivity 0 ? filtered.toString() : "";
+ }
+ }
+
+ public static class ChineseOnlyFilter implements InputFilter {
+ @Override
+ public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
+ StringBuilder validChars = new StringBuilder();
+ for (int i = start; i < end; i++) {
+ char c = source.charAt(i);
+ if (isChinese(c)) {
+ validChars.append(c); // 中文字符保留
+ }
+ }
+ // 若 validChars 长度与原输入一致,说明全部合法;否则返回合法部分
+ return validChars.length() == (end - start) ? null : validChars;
+ }
+
+ // 判断字符是否为中文(含全角符号)
+ private boolean isChinese(char c) {
+ Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
+ return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
+ || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
+ || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
+// || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
+// || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
+// || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
+ ;
+ }
+ }
+
private void openSelector() {
PictureSelector.create(AddContactActivity.this)
.openGallery(SelectMimeType.ofAll())
diff --git a/app/src/main/java/com/xxpatx/os/activity/contact/EditContactActivity.java b/app/src/main/java/com/xxpatx/os/activity/contact/EditContactActivity.java
index c296143..ebd5ab9 100644
--- a/app/src/main/java/com/xxpatx/os/activity/contact/EditContactActivity.java
+++ b/app/src/main/java/com/xxpatx/os/activity/contact/EditContactActivity.java
@@ -3,6 +3,8 @@ package com.xxpatx.os.activity.contact;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
+import android.text.InputFilter;
+import android.text.Spanned;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@@ -16,7 +18,6 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
-import com.google.gson.JsonObject;
import com.hjq.toast.Toaster;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
@@ -42,7 +43,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;
-import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
@@ -86,6 +86,10 @@ public class EditContactActivity extends BaseMvvmActivity 0 ? filtered.toString() : "";
+ }
+ }
+
+ public static class ChineseOnlyFilter implements InputFilter {
+ @Override
+ public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
+ StringBuilder validChars = new StringBuilder();
+ for (int i = start; i < end; i++) {
+ char c = source.charAt(i);
+ if (isChinese(c)) {
+ validChars.append(c); // 中文字符保留
+ }
+ }
+ // 若 validChars 长度与原输入一致,说明全部合法;否则返回合法部分
+ return validChars.length() == (end - start) ? null : validChars;
+ }
+
+ // 判断字符是否为中文(含全角符号)
+ private boolean isChinese(char c) {
+ Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
+ return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
+ || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
+ || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
+// || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
+// || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
+// || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
+ ;
+ }
+ }
+
private void openSelector() {
PictureSelector.create(EditContactActivity.this)
.openGallery(SelectMimeType.ofAll())
@@ -177,7 +223,7 @@ public class EditContactActivity extends BaseMvvmActivity {
+ private static final String TAG = "VoiceBroadcastActivity";
+
+ private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
+
+ private static final int REQUEST_PERMISSION_CODE = 1234;
+
+ private String[] PERMISSIONS_SMS = {
+ Manifest.permission.READ_SMS,
+ Manifest.permission.RECEIVE_SMS,
+ };
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_voice_broadcast;
+ }
+
+ @Override
+ protected void initDataBinding() {
+ mViewModel.setCtx(this);
+ mViewModel.setVDBinding(mViewDataBinding);
+ mViewModel.setLifecycle(getLifecycleSubject());
+ mViewDataBinding.setClick(new BtnClick());
+ }
+
+ @Override
+ protected void initView() {
+
+ boolean voiceBroadcast = mMMKV.decodeBool(CommonConfig.VOICE_BROADCAST, false);
+ Log.e(TAG, "initView: voiceBroadcast = " + voiceBroadcast);
+ mViewDataBinding.setVoiceBroadcast(voiceBroadcast);
+
+ boolean dialTone = mMMKV.decodeBool(CommonConfig.DISABLE_DIAL_TONE_MODIFY, true);
+ Log.e(TAG, "initView: dialTone = " + dialTone);
+ mViewDataBinding.setDialTone(dialTone);
+
+ boolean voiceSpeaker = mMMKV.decodeInt(CommonConfig.VOICE_SPEAKER_KEY, 0) == 1;
+ Log.e(TAG, "appSpeak: voiceSpeaker = " + voiceSpeaker);
+ mViewDataBinding.setVoiceSpeaker(voiceSpeaker);
+ }
+
+ @Override
+ protected void initData() {
+
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ if (requestCode == REQUEST_PERMISSION_CODE) {
+
+ }
+ }
+
+ public class BtnClick {
+ public void voiceBroadcast(View view) {
+ if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(VoiceBroadcastActivity.this, Manifest.permission.READ_SMS)) {
+ ActivityCompat.requestPermissions(VoiceBroadcastActivity.this, PERMISSIONS_SMS, REQUEST_PERMISSION_CODE);
+ Toast.makeText(VoiceBroadcastActivity.this, "请授予读取短信权限", Toast.LENGTH_LONG).show();
+ return;
+ }
+ if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(VoiceBroadcastActivity.this, Manifest.permission.RECEIVE_SMS)) {
+ ActivityCompat.requestPermissions(VoiceBroadcastActivity.this, PERMISSIONS_SMS, REQUEST_PERMISSION_CODE);
+ Toast.makeText(VoiceBroadcastActivity.this, "请授予接收短信权限", Toast.LENGTH_LONG).show();
+ return;
+ }
+ boolean voiceBroadcast = mMMKV.decodeBool(CommonConfig.VOICE_BROADCAST, false);
+ Log.e(TAG, "voiceBroadcast: voiceBroadcast = " + voiceBroadcast);
+ mViewDataBinding.setVoiceBroadcast(!voiceBroadcast);
+ mMMKV.encode(CommonConfig.VOICE_BROADCAST, !voiceBroadcast);
+ }
+
+ public void setDialTone(View view) {
+ boolean dialTone = mMMKV.decodeBool(CommonConfig.DISABLE_DIAL_TONE_MODIFY, true);
+ Log.e(TAG, "setDialTone: dialTone = " + dialTone);
+ mViewDataBinding.setDialTone(!dialTone);
+ mMMKV.encode(CommonConfig.DISABLE_DIAL_TONE_MODIFY, !dialTone);
+ }
+
+ public void appSpeak(View view) {
+ boolean voiceSpeaker = mMMKV.decodeInt(CommonConfig.VOICE_SPEAKER_KEY, 0) == 1;
+ Log.e(TAG, "appSpeak: voiceSpeaker = " + voiceSpeaker);
+ mViewDataBinding.setVoiceSpeaker(!voiceSpeaker);
+ mMMKV.encode(CommonConfig.VOICE_SPEAKER_KEY, voiceSpeaker ? 0 : 1);
+ }
+
+
+ }
+}
diff --git a/app/src/main/java/com/xxpatx/os/activity/settings/broadcast/VoiceBroadcastViewModel.java b/app/src/main/java/com/xxpatx/os/activity/settings/broadcast/VoiceBroadcastViewModel.java
new file mode 100644
index 0000000..b8baab2
--- /dev/null
+++ b/app/src/main/java/com/xxpatx/os/activity/settings/broadcast/VoiceBroadcastViewModel.java
@@ -0,0 +1,18 @@
+package com.xxpatx.os.activity.settings.broadcast;
+
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.xxpatx.os.base.mvvm.BaseViewModel;
+import com.xxpatx.os.databinding.ActivityVoiceBroadcastBinding;
+
+public class VoiceBroadcastViewModel extends BaseViewModel {
+
+ @Override
+ public ActivityVoiceBroadcastBinding getVDBinding() {
+ return binding;
+ }
+
+ @Override
+ public void onDestroy() {
+
+ }
+}
diff --git a/app/src/main/java/com/xxpatx/os/activity/dock/DockActivity.java b/app/src/main/java/com/xxpatx/os/activity/settings/dock/DockActivity.java
similarity index 98%
rename from app/src/main/java/com/xxpatx/os/activity/dock/DockActivity.java
rename to app/src/main/java/com/xxpatx/os/activity/settings/dock/DockActivity.java
index 22b4470..d7b9b3e 100644
--- a/app/src/main/java/com/xxpatx/os/activity/dock/DockActivity.java
+++ b/app/src/main/java/com/xxpatx/os/activity/settings/dock/DockActivity.java
@@ -1,4 +1,4 @@
-package com.xxpatx.os.activity.dock;
+package com.xxpatx.os.activity.settings.dock;
import android.text.TextUtils;
import android.util.Log;
diff --git a/app/src/main/java/com/xxpatx/os/activity/dock/DockViewModel.java b/app/src/main/java/com/xxpatx/os/activity/settings/dock/DockViewModel.java
similarity index 87%
rename from app/src/main/java/com/xxpatx/os/activity/dock/DockViewModel.java
rename to app/src/main/java/com/xxpatx/os/activity/settings/dock/DockViewModel.java
index 480843b..354348e 100644
--- a/app/src/main/java/com/xxpatx/os/activity/dock/DockViewModel.java
+++ b/app/src/main/java/com/xxpatx/os/activity/settings/dock/DockViewModel.java
@@ -1,4 +1,4 @@
-package com.xxpatx.os.activity.dock;
+package com.xxpatx.os.activity.settings.dock;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -46,13 +46,13 @@ public class DockViewModel extends BaseViewModel {
+
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_other_settings;
+ }
+
+ @Override
+ protected void initDataBinding() {
+ mViewModel.setCtx(this);
+ mViewModel.setVDBinding(mViewDataBinding);
+ mViewModel.setLifecycle(getLifecycleSubject());
+ mViewDataBinding.setClick(new BtnClick());
+ }
+
+ @Override
+ protected void initView() {
+
+ }
+
+ @Override
+ protected void initData() {
+
+ }
+
+
+ public class BtnClick {
+ public void toInternet(View view) {
+ startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+
+ public void openSound(View view) {
+ startActivity(new Intent(Settings.ACTION_SOUND_SETTINGS));
+ }
+
+ public void toFont(View view) {
+ startActivity(new Intent(Settings.ACTION_DISPLAY_SETTINGS));
+ }
+
+ public void toSettings(View view) {
+ startActivity(new Intent(Settings.ACTION_SETTINGS));
+ }
+ }
+}
diff --git a/app/src/main/java/com/xxpatx/os/activity/settings/other/OtherSettingsViewModel.java b/app/src/main/java/com/xxpatx/os/activity/settings/other/OtherSettingsViewModel.java
new file mode 100644
index 0000000..c062e80
--- /dev/null
+++ b/app/src/main/java/com/xxpatx/os/activity/settings/other/OtherSettingsViewModel.java
@@ -0,0 +1,18 @@
+package com.xxpatx.os.activity.settings.other;
+
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.xxpatx.os.base.mvvm.BaseViewModel;
+import com.xxpatx.os.databinding.ActivityOtherSettingsBinding;
+
+public class OtherSettingsViewModel extends BaseViewModel {
+
+ @Override
+ public ActivityOtherSettingsBinding getVDBinding() {
+ return binding;
+ }
+
+ @Override
+ public void onDestroy() {
+
+ }
+}
diff --git a/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java b/app/src/main/java/com/xxpatx/os/activity/settings/setting/SettingActivity.java
similarity index 77%
rename from app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java
rename to app/src/main/java/com/xxpatx/os/activity/settings/setting/SettingActivity.java
index 53c79f8..6782dcd 100644
--- a/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java
+++ b/app/src/main/java/com/xxpatx/os/activity/settings/setting/SettingActivity.java
@@ -1,10 +1,9 @@
-package com.xxpatx.os.activity.setting;
+package com.xxpatx.os.activity.settings.setting;
-import android.Manifest;
import android.app.AppOpsManager;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -13,8 +12,6 @@ import android.util.Log;
import android.view.View;
import android.widget.Toast;
-import androidx.annotation.NonNull;
-import androidx.core.app.ActivityCompat;
import androidx.lifecycle.Observer;
import com.google.android.accessibility.selecttospeak.SelectToSpeakService;
@@ -22,8 +19,12 @@ import com.hjq.toast.Toaster;
import com.tencent.mmkv.MMKV;
import com.xxpatx.os.BuildConfig;
import com.xxpatx.os.R;
-import com.xxpatx.os.activity.dock.DockActivity;
-import com.xxpatx.os.activity.phone.WhiteListActivity;
+import com.xxpatx.os.activity.settings.broadcast.VoiceBroadcastActivity;
+import com.xxpatx.os.activity.settings.dock.DockActivity;
+import com.xxpatx.os.activity.settings.other.OtherSettingsActivity;
+import com.xxpatx.os.activity.settings.time.TimeActivity;
+import com.xxpatx.os.activity.settings.touch.TouchActivity;
+import com.xxpatx.os.activity.settings.whitelist.WhiteListActivity;
import com.xxpatx.os.activity.sim.SimCardActivity;
import com.xxpatx.os.activity.tts.TtsActivity;
import com.xxpatx.os.activity.update.UpdateActivity;
@@ -42,16 +43,10 @@ import java.lang.reflect.Method;
public class SettingActivity extends BaseMvvmActivity {
private static final String TAG = "SettingActivity";
- private static final int REQUEST_PERMISSION_CODE = 1234;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
- private String[] PERMISSIONS_SMS = {
- Manifest.permission.READ_SMS,
- Manifest.permission.RECEIVE_SMS,
- };
-
@Override
public boolean setfitWindow() {
return true;
@@ -116,11 +111,6 @@ public class SettingActivity extends BaseMvvmActivity mContacts = new ArrayList() {{
- this.add(new Contact("未设置"));
- this.add(new Contact("未设置"));
- this.add(new Contact("未设置"));
- this.add(new Contact("未设置"));
- this.add(new Contact("未设置"));
- this.add(new Contact("未设置"));
+ this.add(new Contact("添加联系人"));
+ this.add(new Contact("添加联系人"));
+ this.add(new Contact("添加联系人"));
+ this.add(new Contact("添加联系人"));
+ this.add(new Contact("添加联系人"));
+ this.add(new Contact("添加联系人"));
}};
@Override
diff --git a/app/src/main/java/com/xxpatx/os/fragment/control/ControlFragment.java b/app/src/main/java/com/xxpatx/os/fragment/control/ControlFragment.java
index 675a2bf..c7235d4 100644
--- a/app/src/main/java/com/xxpatx/os/fragment/control/ControlFragment.java
+++ b/app/src/main/java/com/xxpatx/os/fragment/control/ControlFragment.java
@@ -35,7 +35,7 @@ import androidx.lifecycle.Observer;
import com.tencent.mmkv.MMKV;
import com.xxpatx.os.R;
-import com.xxpatx.os.activity.setting.SettingActivity;
+import com.xxpatx.os.activity.settings.setting.SettingActivity;
import com.xxpatx.os.base.mvvm.fragment.BaseMvvmFragment;
import com.xxpatx.os.bean.FamilyAddress;
import com.xxpatx.os.config.CommonConfig;
diff --git a/app/src/main/java/com/xxpatx/os/fragment/home/HomeFragment.java b/app/src/main/java/com/xxpatx/os/fragment/home/HomeFragment.java
index 252c6eb..19f1ef2 100644
--- a/app/src/main/java/com/xxpatx/os/fragment/home/HomeFragment.java
+++ b/app/src/main/java/com/xxpatx/os/fragment/home/HomeFragment.java
@@ -28,7 +28,7 @@ import com.xxpatx.os.R;
import com.xxpatx.os.activity.FlashlightActivity;
import com.xxpatx.os.activity.NetworkActivity;
import com.xxpatx.os.activity.contact.AddContactActivity;
-import com.xxpatx.os.activity.setting.SettingActivity;
+import com.xxpatx.os.activity.settings.setting.SettingActivity;
import com.xxpatx.os.activity.weather.WeatherActivity;
import com.xxpatx.os.alarm.AlarmClockData;
import com.xxpatx.os.alarm.AlarmUtils;
diff --git a/app/src/main/java/com/xxpatx/os/fragment/phone/record/RecordFragment.java b/app/src/main/java/com/xxpatx/os/fragment/phone/record/RecordFragment.java
index 1932795..f2d5d1c 100644
--- a/app/src/main/java/com/xxpatx/os/fragment/phone/record/RecordFragment.java
+++ b/app/src/main/java/com/xxpatx/os/fragment/phone/record/RecordFragment.java
@@ -194,7 +194,7 @@ public class RecordFragment extends BaseMvvmFragment mExcludeApp = new HashSet() {{
this.add("com.android.contacts");
- this.add("com.android.dialer");
+// this.add("com.android.dialer");
// this.add("com.mediatek.camera");
this.add("cn.etouch.ecalendar");
}};
diff --git a/app/src/main/java/com/xxpatx/os/utils/ApkUtils.java b/app/src/main/java/com/xxpatx/os/utils/ApkUtils.java
index c39f12b..9d97ae4 100644
--- a/app/src/main/java/com/xxpatx/os/utils/ApkUtils.java
+++ b/app/src/main/java/com/xxpatx/os/utils/ApkUtils.java
@@ -85,6 +85,7 @@ public class ApkUtils {
// this.add("com.xxpatx.store");
this.add("com.joytv.live");
this.add("com.xxpatx.store");
+ this.add("com.xxpatx.sn");
this.add("com.teclast.zyos");
this.add("com.teclast.zy");
this.add("com.teclast.zyappstore");
@@ -1053,4 +1054,18 @@ public class ApkUtils {
.create(); //启动下载}
}
}
+
+ public static void openOta(Context context) {
+ Intent intent = new Intent();
+ ComponentName componentName = new ComponentName("com.zhongkeweilai.update", "com.zhongkeweilai.update.GoogleOtaClient");
+ intent.setComponent(componentName);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ try {
+ context.startActivity(intent);
+ } catch (Exception e) {
+ Log.e(TAG, "openOta: " + e.getMessage());
+ Toaster.showLong("打开OTA失败,请进入设置-关于手机手动检查");
+ context.startActivity(new Intent(Settings.ACTION_SETTINGS));
+ }
+ }
}
diff --git a/app/src/main/java/com/xxpatx/os/view/EqualHeightDecoration.java b/app/src/main/java/com/xxpatx/os/view/EqualHeightDecoration.java
new file mode 100644
index 0000000..eada35c
--- /dev/null
+++ b/app/src/main/java/com/xxpatx/os/view/EqualHeightDecoration.java
@@ -0,0 +1,28 @@
+package com.xxpatx.os.view;
+
+import android.graphics.Rect;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.xxpatx.os.utils.ScreenUtils;
+
+public class EqualHeightDecoration extends RecyclerView.ItemDecoration {
+ private int rowCount;
+
+ public EqualHeightDecoration(int rowCount) {
+ this.rowCount = rowCount;
+ }
+
+ @Override
+ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+ int recyclerViewHeight = parent.getHeight();
+ int height = recyclerViewHeight - (rowCount - 1) * ScreenUtils.dp2px(view.getResources(), 4);
+ int itemHeight = recyclerViewHeight / rowCount;
+ ViewGroup.LayoutParams params = view.getLayoutParams();
+ params.height = itemHeight;
+ view.setLayoutParams(params);
+ }
+}
+
diff --git a/app/src/main/java/com/xxpatx/os/view/MyGridLayout.java b/app/src/main/java/com/xxpatx/os/view/MyGridLayout.java
index 0d27805..7d32871 100644
--- a/app/src/main/java/com/xxpatx/os/view/MyGridLayout.java
+++ b/app/src/main/java/com/xxpatx/os/view/MyGridLayout.java
@@ -7,9 +7,9 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
-
import com.xxpatx.os.R;
import com.xxpatx.os.bean.DesktopIcon;
+import com.xxpatx.os.utils.ScreenUtils;
import java.util.ArrayList;
@@ -41,6 +41,7 @@ public class MyGridLayout extends ViewGroup {
colums = a.getInteger(R.styleable.MyGridLayout_numColumns, 3);
rows = a.getInteger(R.styleable.MyGridLayout_numRows, 3);
}
+ margin = ScreenUtils.dp2px(context.getResources(), 8);
}
public MyGridLayout(Context context, AttributeSet attrs) {
@@ -103,11 +104,11 @@ public class MyGridLayout extends ViewGroup {
if (child == null) {
return;
}
-// if (j == 0) {
- left = j * gridW + (j + 1) * margin + margin / 2;
-// } else {
-// left = j * gridW + (j + 1) * margin;
-// }
+ if (j == 0) {
+ left = margin;
+ } else {
+ left = j * gridW + (j + 1) * margin;
+ }
// 如果当前布局宽度和测量宽度不一样,就直接用当前布局的宽度重新测量
if (gridW != child.getMeasuredWidth()
|| gridH != child.getMeasuredHeight()) {
diff --git a/app/src/main/res/drawable-hdpi/card_accessibility_background.png b/app/src/main/res/drawable-hdpi/card_accessibility_background.png
index 497416c..2a820fc 100644
Binary files a/app/src/main/res/drawable-hdpi/card_accessibility_background.png and b/app/src/main/res/drawable-hdpi/card_accessibility_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_add_contact_background.png b/app/src/main/res/drawable-hdpi/card_add_contact_background.png
index b83662a..7c3696c 100644
Binary files a/app/src/main/res/drawable-hdpi/card_add_contact_background.png and b/app/src/main/res/drawable-hdpi/card_add_contact_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_alarm_clock_bakground.png b/app/src/main/res/drawable-hdpi/card_alarm_clock_bakground.png
index bc76782..4c0c1d5 100644
Binary files a/app/src/main/res/drawable-hdpi/card_alarm_clock_bakground.png and b/app/src/main/res/drawable-hdpi/card_alarm_clock_bakground.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_appstore_background.png b/app/src/main/res/drawable-hdpi/card_appstore_background.png
index e358872..3886cd1 100644
Binary files a/app/src/main/res/drawable-hdpi/card_appstore_background.png and b/app/src/main/res/drawable-hdpi/card_appstore_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_bindsn_background.png b/app/src/main/res/drawable-hdpi/card_bindsn_background.png
index 9cb5d55..abd9718 100644
Binary files a/app/src/main/res/drawable-hdpi/card_bindsn_background.png and b/app/src/main/res/drawable-hdpi/card_bindsn_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_calendar_background.png b/app/src/main/res/drawable-hdpi/card_calendar_background.png
index e5a009a..2135e26 100644
Binary files a/app/src/main/res/drawable-hdpi/card_calendar_background.png and b/app/src/main/res/drawable-hdpi/card_calendar_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_family_background.png b/app/src/main/res/drawable-hdpi/card_family_background.png
index 1cb6ee9..f44c2ae 100644
Binary files a/app/src/main/res/drawable-hdpi/card_family_background.png and b/app/src/main/res/drawable-hdpi/card_family_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_flashlight_background.png b/app/src/main/res/drawable-hdpi/card_flashlight_background.png
index 3c22758..8e28d82 100644
Binary files a/app/src/main/res/drawable-hdpi/card_flashlight_background.png and b/app/src/main/res/drawable-hdpi/card_flashlight_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_location_background.png b/app/src/main/res/drawable-hdpi/card_location_background.png
index 7482f78..c9b8ae1 100644
Binary files a/app/src/main/res/drawable-hdpi/card_location_background.png and b/app/src/main/res/drawable-hdpi/card_location_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_more_app_background.png b/app/src/main/res/drawable-hdpi/card_more_app_background.png
index 9626e4f..a5b9217 100644
Binary files a/app/src/main/res/drawable-hdpi/card_more_app_background.png and b/app/src/main/res/drawable-hdpi/card_more_app_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_network_background.png b/app/src/main/res/drawable-hdpi/card_network_background.png
index 1ffaa0e..64954c0 100644
Binary files a/app/src/main/res/drawable-hdpi/card_network_background.png and b/app/src/main/res/drawable-hdpi/card_network_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_sos_background.png b/app/src/main/res/drawable-hdpi/card_sos_background.png
index 5c6e2ef..51dc342 100644
Binary files a/app/src/main/res/drawable-hdpi/card_sos_background.png and b/app/src/main/res/drawable-hdpi/card_sos_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/card_wifi_background.png b/app/src/main/res/drawable-hdpi/card_wifi_background.png
index 8cb7c1e..89011af 100644
Binary files a/app/src/main/res/drawable-hdpi/card_wifi_background.png and b/app/src/main/res/drawable-hdpi/card_wifi_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround1.png b/app/src/main/res/drawable-hdpi/contact_card_backround1.png
deleted file mode 100644
index 486284a..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround1.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround2.png b/app/src/main/res/drawable-hdpi/contact_card_backround2.png
deleted file mode 100644
index 55fe186..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround2.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround3.png b/app/src/main/res/drawable-hdpi/contact_card_backround3.png
deleted file mode 100644
index 242b19e..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround3.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround4.png b/app/src/main/res/drawable-hdpi/contact_card_backround4.png
deleted file mode 100644
index d03d6e1..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround4.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround5.png b/app/src/main/res/drawable-hdpi/contact_card_backround5.png
deleted file mode 100644
index c7d00aa..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround5.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/contact_card_backround6.png b/app/src/main/res/drawable-hdpi/contact_card_backround6.png
deleted file mode 100644
index 5c3a1b0..0000000
Binary files a/app/src/main/res/drawable-hdpi/contact_card_backround6.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/default_avatar.png b/app/src/main/res/drawable-hdpi/default_avatar.png
index 5a95227..596479d 100644
Binary files a/app/src/main/res/drawable-hdpi/default_avatar.png and b/app/src/main/res/drawable-hdpi/default_avatar.png differ
diff --git a/app/src/main/res/drawable-hdpi/home_icon_location.png b/app/src/main/res/drawable-hdpi/home_icon_location.png
index 00de450..c61bd60 100644
Binary files a/app/src/main/res/drawable-hdpi/home_icon_location.png and b/app/src/main/res/drawable-hdpi/home_icon_location.png differ
diff --git a/app/src/main/res/drawable-hdpi/sos_banner.png b/app/src/main/res/drawable-hdpi/sos_banner.png
new file mode 100644
index 0000000..6c176a5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sos_banner.png differ
diff --git a/app/src/main/res/drawable/add_alarm_background.xml b/app/src/main/res/drawable/add_alarm_background.xml
index 1ba86e7..65b3300 100644
--- a/app/src/main/res/drawable/add_alarm_background.xml
+++ b/app/src/main/res/drawable/add_alarm_background.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/app/src/main/res/drawable/alarm_checked_background.xml b/app/src/main/res/drawable/alarm_checked_background.xml
new file mode 100644
index 0000000..f916c11
--- /dev/null
+++ b/app/src/main/res/drawable/alarm_checked_background.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/alarm_unchecked_background.xml b/app/src/main/res/drawable/alarm_unchecked_background.xml
new file mode 100644
index 0000000..65b3300
--- /dev/null
+++ b/app/src/main/res/drawable/alarm_unchecked_background.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_dialog.xml b/app/src/main/res/drawable/bg_dialog.xml
index eaf60cf..2024a5a 100644
--- a/app/src/main/res/drawable/bg_dialog.xml
+++ b/app/src/main/res/drawable/bg_dialog.xml
@@ -5,5 +5,5 @@
android:width="0.8dp"
android:color="#ffffff" />
-
+
diff --git a/app/src/main/res/drawable/bt_sos_bg.xml b/app/src/main/res/drawable/bt_sos_bg.xml
index d7618f8..63c6cc4 100644
--- a/app/src/main/res/drawable/bt_sos_bg.xml
+++ b/app/src/main/res/drawable/bt_sos_bg.xml
@@ -1,11 +1,15 @@
-
+
-
+
+
diff --git a/app/src/main/res/drawable/contact_card_backround1.xml b/app/src/main/res/drawable/contact_card_backround1.xml
new file mode 100644
index 0000000..cf50b6a
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround1.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/contact_card_backround2.xml b/app/src/main/res/drawable/contact_card_backround2.xml
new file mode 100644
index 0000000..c2d047a
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround2.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/contact_card_backround3.xml b/app/src/main/res/drawable/contact_card_backround3.xml
new file mode 100644
index 0000000..8b761b9
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround3.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/contact_card_backround4.xml b/app/src/main/res/drawable/contact_card_backround4.xml
new file mode 100644
index 0000000..cf50b6a
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround4.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/contact_card_backround5.xml b/app/src/main/res/drawable/contact_card_backround5.xml
new file mode 100644
index 0000000..4e1f6ee
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround5.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/contact_card_backround6.xml b/app/src/main/res/drawable/contact_card_backround6.xml
new file mode 100644
index 0000000..e996b3c
--- /dev/null
+++ b/app/src/main/res/drawable/contact_card_backround6.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dailyapp_cancel_bg.xml b/app/src/main/res/drawable/dailyapp_cancel_bg.xml
new file mode 100644
index 0000000..c7ed7de
--- /dev/null
+++ b/app/src/main/res/drawable/dailyapp_cancel_bg.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dailyapp_confirm_bg.xml b/app/src/main/res/drawable/dailyapp_confirm_bg.xml
new file mode 100644
index 0000000..435ba49
--- /dev/null
+++ b/app/src/main/res/drawable/dailyapp_confirm_bg.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_alarm_clock.xml b/app/src/main/res/drawable/ic_alarm_clock.xml
new file mode 100644
index 0000000..193eba7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_alarm_clock.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_easy_mode_sos.xml b/app/src/main/res/drawable/ic_easy_mode_sos.xml
new file mode 100644
index 0000000..6b7f63a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_easy_mode_sos.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/sos_dialer_background.xml b/app/src/main/res/drawable/sos_dialer_background.xml
index 4eb97ec..1702294 100644
--- a/app/src/main/res/drawable/sos_dialer_background.xml
+++ b/app/src/main/res/drawable/sos_dialer_background.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/app/src/main/res/drawable/tv_add_alarm_background.xml b/app/src/main/res/drawable/tv_add_alarm_background.xml
index 6fdaa8f..a54c59e 100644
--- a/app/src/main/res/drawable/tv_add_alarm_background.xml
+++ b/app/src/main/res/drawable/tv_add_alarm_background.xml
@@ -5,11 +5,7 @@
-
+
diff --git a/app/src/main/res/drawable/tv_sos_bg.xml b/app/src/main/res/drawable/tv_sos_bg.xml
index 050a706..641f6f9 100644
--- a/app/src/main/res/drawable/tv_sos_bg.xml
+++ b/app/src/main/res/drawable/tv_sos_bg.xml
@@ -1,10 +1,10 @@
-
+
-
+
+ tools:context=".activity.settings.setting.SettingActivity">
+ type="com.xxpatx.os.activity.settings.setting.SettingActivity.BtnClick" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:onClick="@{click::autoCall}">
-
+ android:onClick="@{click::setHourlyTimeSignal}">
+
+
+
+
+
+
+
+
+
+
+
-
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -376,6 +431,7 @@
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/icon_more"
+ android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -388,155 +444,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -598,7 +506,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:maxLines="1"
- android:text="系统其他设置"
+ android:text="网络字体等设置"
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -626,6 +534,7 @@
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/icon_more"
+ android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -658,11 +567,11 @@
@@ -675,6 +584,57 @@
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/icon_more"
+ android:visibility="visible"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout-sw700dp/activity_touch.xml b/app/src/main/res/layout-sw700dp/activity_touch.xml
index 5311dd0..cf01789 100644
--- a/app/src/main/res/layout-sw700dp/activity_touch.xml
+++ b/app/src/main/res/layout-sw700dp/activity_touch.xml
@@ -2,13 +2,13 @@
+ tools:context=".activity.settings.touch.TouchActivity">
+ type="com.xxpatx.os.activity.settings.touch.TouchActivity.BtnClick" />
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_alarm_add.xml b/app/src/main/res/layout/activity_alarm_add.xml
index fac640b..3dfdbcf 100644
--- a/app/src/main/res/layout/activity_alarm_add.xml
+++ b/app/src/main/res/layout/activity_alarm_add.xml
@@ -50,7 +50,7 @@
android:layout_height="wrap_content"
android:text="设置闹钟"
android:textColor="@color/black"
- android:textSize="18sp"
+ android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView12"
@@ -90,6 +90,7 @@
android:text="选择时间"
android:textColor="@color/black"
android:textSize="16sp"
+ android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -172,88 +173,67 @@
+ android:layout_marginEnd="8dp">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_weight="1"
+ android:visibility="gone">
-
@@ -419,7 +398,7 @@
diff --git a/app/src/main/res/layout/activity_alarm_edit.xml b/app/src/main/res/layout/activity_alarm_edit.xml
index 83cd1b2..74de728 100644
--- a/app/src/main/res/layout/activity_alarm_edit.xml
+++ b/app/src/main/res/layout/activity_alarm_edit.xml
@@ -55,7 +55,7 @@
android:layout_height="wrap_content"
android:text="编辑闹钟"
android:textColor="@color/black"
- android:textSize="18sp"
+ android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView12"
@@ -93,6 +93,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:text="选择时间"
+ android:visibility="gone"
android:textColor="@color/black"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
@@ -113,10 +114,57 @@
+ android:layout_marginEnd="8dp">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_weight="1"
+ android:visibility="gone">
@@ -348,7 +341,7 @@
diff --git a/app/src/main/res/layout/activity_alarm_list.xml b/app/src/main/res/layout/activity_alarm_list.xml
index 6da1a03..bcb789f 100644
--- a/app/src/main/res/layout/activity_alarm_list.xml
+++ b/app/src/main/res/layout/activity_alarm_list.xml
@@ -58,7 +58,7 @@
android:layout_height="wrap_content"
android:text="我的闹钟"
android:textColor="@color/black"
- android:textSize="18sp"
+ android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView12"
diff --git a/app/src/main/res/layout/activity_contact_add.xml b/app/src/main/res/layout/activity_contact_add.xml
index 9fd6570..2ffab33 100644
--- a/app/src/main/res/layout/activity_contact_add.xml
+++ b/app/src/main/res/layout/activity_contact_add.xml
@@ -77,8 +77,8 @@
android:layout_gravity="center"
android:layout_marginTop="32dp"
android:layout_marginBottom="32dp"
- android:onClick="@{click::selectPic}"
android:adjustViewBounds="true"
+ android:onClick="@{click::selectPic}"
android:scaleType="centerCrop"
android:src="@drawable/default_avatar"
app:is_circle="true"
@@ -132,6 +132,7 @@
android:ellipsize="end"
android:hint="请输入微信昵称"
android:inputType="text"
+ android:maxLength="8"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
@@ -190,6 +191,7 @@
android:ellipsize="end"
android:hint="请输入手机号码"
android:inputType="phone"
+ android:maxLength="12"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
@@ -248,6 +250,7 @@
android:ellipsize="end"
android:hint="请输入微信标签"
android:inputType="text"
+ android:maxLength="8"
android:maxLines="1"
android:singleLine="true"
android:text="@string/app_name"
@@ -310,11 +313,11 @@
android:id="@+id/tb_show"
android:layout_width="48dp"
android:layout_height="24dp"
- app:tbAsDefaultOn="true"
android:layout_marginEnd="32dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent"
+ app:tbAsDefaultOn="true" />
diff --git a/app/src/main/res/layout/activity_contact_edit.xml b/app/src/main/res/layout/activity_contact_edit.xml
index 89fd8d7..38c9ba1 100644
--- a/app/src/main/res/layout/activity_contact_edit.xml
+++ b/app/src/main/res/layout/activity_contact_edit.xml
@@ -158,6 +158,7 @@
android:ellipsize="end"
android:hint="请输入微信昵称"
android:inputType="text"
+ android:maxLength="8"
android:maxLines="1"
android:singleLine="true"
android:text="@{contact.name}"
@@ -219,6 +220,7 @@
android:inputType="phone"
android:maxLines="1"
android:singleLine="true"
+ android:maxLength="12"
android:text="@{contact.mobile}"
android:textColor="@color/black"
android:textColorHint="@color/ok_button"
@@ -267,7 +269,7 @@
app:layout_constraintTop_toTopOf="parent" />
+ tools:context=".activity.settings.dock.DockActivity">
+ type="com.xxpatx.os.activity.settings.dock.DockActivity.BtnClick" />
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
-
-
+
-
+
-
+
+
+
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notice.xml b/app/src/main/res/layout/activity_notice.xml
index 3abf2b3..65e2288 100644
--- a/app/src/main/res/layout/activity_notice.xml
+++ b/app/src/main/res/layout/activity_notice.xml
@@ -10,17 +10,14 @@
+ android:layout_height="match_parent">
@@ -55,55 +52,75 @@
android:gravity="center_vertical"
android:text="闹钟提醒"
android:textColor="@color/black"
- android:textSize="18sp"
+ android:textSize="22sp"
android:textStyle="bold"
android:visibility="visible" />
-
+ android:orientation="vertical"
+ app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
+ app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
+
+
+
+
+
+
+ android:layout_marginStart="48dp"
+ android:layout_marginEnd="48dp"
+ android:layout_marginBottom="16dp"
+ app:layout_constraintBottom_toBottomOf="parent">
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_other_settings.xml b/app/src/main/res/layout/activity_other_settings.xml
new file mode 100644
index 0000000..af1bfd0
--- /dev/null
+++ b/app/src/main/res/layout/activity_other_settings.xml
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index 1867dba..1b5177c 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -2,22 +2,18 @@
+ tools:context=".activity.settings.setting.SettingActivity">
+ type="com.xxpatx.os.activity.settings.setting.SettingActivity.BtnClick" />
-
-
@@ -26,14 +22,6 @@
name="auto_call"
type="Boolean" />
-
-
-
-
@@ -42,9 +30,6 @@
name="hourly_time"
type="Boolean" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -653,19 +277,20 @@
android:maxLines="1"
android:text="未开启"
android:textColor="@color/setting_disable_color"
- android:textSize="25sp"
+ android:textSize="@dimen/settings_item_hint_size"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -680,7 +305,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -703,19 +481,20 @@
android:maxLines="1"
android:text="未开启"
android:textColor="@color/setting_disable_color"
- android:textSize="25sp"
+ android:textSize="@dimen/settings_item_hint_size"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -730,7 +509,7 @@
@@ -753,19 +532,20 @@
android:maxLines="1"
android:text="未开启"
android:textColor="@color/setting_disable_color"
- android:textSize="25sp"
+ android:textSize="@dimen/settings_item_hint_size"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -780,7 +560,7 @@
@@ -798,23 +578,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_time.xml b/app/src/main/res/layout/activity_time.xml
index 179c591..d101e0b 100644
--- a/app/src/main/res/layout/activity_time.xml
+++ b/app/src/main/res/layout/activity_time.xml
@@ -2,13 +2,13 @@
+ tools:context=".activity.settings.time.TimeActivity">
+ type="com.xxpatx.os.activity.settings.time.TimeActivity.BtnClick" />
+ tools:context=".activity.settings.touch.TouchActivity">
+ type="com.xxpatx.os.activity.settings.touch.TouchActivity.BtnClick" />
+
+
@@ -102,7 +106,7 @@
android:maxLines="1"
android:text='@{disable_key?"已开启":"未开启"}'
android:textColor="@{disable_key?@color/setting_enable_color:@color/setting_disable_color}"
- android:textSize="24sp"
+ android:textSize="@dimen/settings_item_hint_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -118,7 +122,7 @@
@@ -142,7 +146,7 @@
android:maxLines="1"
android:text='@{disable_contact?"已开启":"未开启"}'
android:textColor="@{disable_contact?@color/setting_enable_color:@color/setting_disable_color}"
- android:textSize="24sp"
+ android:textSize="@dimen/settings_item_hint_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -158,7 +162,7 @@
@@ -182,7 +186,7 @@
android:maxLines="1"
android:text="未开启"
android:textColor="@color/setting_disable_color"
- android:textSize="24sp"
+ android:textSize="@dimen/settings_item_hint_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -197,7 +201,7 @@
@@ -221,7 +225,48 @@
android:maxLines="1"
android:text='@{disable_clock?"已开启":"未开启"}'
android:textColor="@{disable_clock?@color/setting_enable_color:@color/setting_disable_color}"
- android:textSize="24sp"
+ android:textSize="@dimen/settings_item_hint_size"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="未开启" />
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_update.xml b/app/src/main/res/layout/activity_update.xml
index 41b07b3..38e3630 100644
--- a/app/src/main/res/layout/activity_update.xml
+++ b/app/src/main/res/layout/activity_update.xml
@@ -125,7 +125,7 @@
app:layout_constraintBottom_toBottomOf="parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_white_list.xml b/app/src/main/res/layout/activity_white_list.xml
index 9efb938..c957862 100644
--- a/app/src/main/res/layout/activity_white_list.xml
+++ b/app/src/main/res/layout/activity_white_list.xml
@@ -2,13 +2,13 @@
+ tools:context=".activity.settings.whitelist.WhiteListActivity">
+ type="com.xxpatx.os.activity.settings.whitelist.WhiteListActivity.BtnClick" />
@@ -96,7 +96,7 @@
android:onClick="@{click::openWhiteList}"
android:text='@{whiteList?"已开启":"未开启"}'
android:textColor="@{whiteList?@color/setting_enable_color:@color/setting_disable_color}"
- android:textSize="25sp"
+ android:textSize="@dimen/settings_item_title_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/dialog_custom.xml b/app/src/main/res/layout/dialog_custom.xml
index 4eb688e..0f2cda2 100644
--- a/app/src/main/res/layout/dialog_custom.xml
+++ b/app/src/main/res/layout/dialog_custom.xml
@@ -101,7 +101,7 @@
tools:text="确定" />
-
@@ -54,8 +53,8 @@
-
+ tools:text="删除" />
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_delete.xml b/app/src/main/res/layout/dialog_delete.xml
index a821bd4..54e7b47 100644
--- a/app/src/main/res/layout/dialog_delete.xml
+++ b/app/src/main/res/layout/dialog_delete.xml
@@ -8,7 +8,7 @@
-
-
+ tools:text="删除" />
-
+
diff --git a/app/src/main/res/layout/dialog_delete_clock.xml b/app/src/main/res/layout/dialog_delete_clock.xml
new file mode 100644
index 0000000..ddda7ef
--- /dev/null
+++ b/app/src/main/res/layout/dialog_delete_clock.xml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_delete_contact.xml b/app/src/main/res/layout/dialog_delete_contact.xml
index a821bd4..4a375ee 100644
--- a/app/src/main/res/layout/dialog_delete_contact.xml
+++ b/app/src/main/res/layout/dialog_delete_contact.xml
@@ -101,7 +101,7 @@
tools:text="确定" />
-
+
diff --git a/app/src/main/res/layout/fragment_applist.xml b/app/src/main/res/layout/fragment_applist.xml
index 8530fdf..91ac9e8 100644
--- a/app/src/main/res/layout/fragment_applist.xml
+++ b/app/src/main/res/layout/fragment_applist.xml
@@ -13,9 +13,9 @@
android:layout_height="match_parent">
-
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 116a518..8b3a887 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -34,8 +34,8 @@
@@ -45,7 +45,8 @@
android:onClick="@{click::openCalendar}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.372">
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.372">
@@ -243,14 +245,14 @@
diff --git a/app/src/main/res/layout/fragment_record.xml b/app/src/main/res/layout/fragment_record.xml
index 4a2b7cb..2119daf 100644
--- a/app/src/main/res/layout/fragment_record.xml
+++ b/app/src/main/res/layout/fragment_record.xml
@@ -55,7 +55,7 @@
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:background="#FAF8F8"
+ android:background="@color/white"
tools:listitem="@layout/item_call_record"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 6426309..6c01a40 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -165,9 +165,9 @@
android:orientation="horizontal">
@@ -242,13 +242,13 @@
@@ -323,14 +323,14 @@
+ android:background="@drawable/actions_item_selector">
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -49,58 +122,6 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_call_record.xml b/app/src/main/res/layout/item_call_record.xml
index 5a55893..f7698a7 100644
--- a/app/src/main/res/layout/item_call_record.xml
+++ b/app/src/main/res/layout/item_call_record.xml
@@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
- android:textSize="22sp"
+ android:textSize="25sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="name" />
@@ -62,9 +62,9 @@
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:textColor="@color/black"
- android:textSize="16sp"
+ android:layout_marginTop="12dp"
+ android:textColor="@color/default_gray_text_color"
+ android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_name"
tools:text="12345665432" />
@@ -77,8 +77,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginEnd="8dp"
- android:textColor="@color/black"
- android:textSize="16sp"
+ android:textColor="@color/default_gray_text_color"
+ android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
@@ -99,7 +99,7 @@
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2px"
- android:background="@color/noti_font_color"
+ android:background="@color/noti_color"
app:layout_constraintBottom_toBottomOf="parent" />
diff --git a/app/src/main/res/layout/item_contact_wechat.xml b/app/src/main/res/layout/item_contact_wechat.xml
index 513e40f..f6527e1 100644
--- a/app/src/main/res/layout/item_contact_wechat.xml
+++ b/app/src/main/res/layout/item_contact_wechat.xml
@@ -3,12 +3,13 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="match_parent">
+ android:src="@drawable/contact_card_backround1" />
@@ -57,9 +57,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
+ android:shadowColor="#80000000"
+ android:shadowDx="2"
+ android:shadowDy="2"
+ android:shadowRadius="2"
android:singleLine="true"
android:textColor="@color/white"
- android:textSize="30sp"
+ android:textSize="23sp"
+ android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/item_emergency_contact.xml b/app/src/main/res/layout/item_emergency_contact.xml
index 641790d..c76588a 100644
--- a/app/src/main/res/layout/item_emergency_contact.xml
+++ b/app/src/main/res/layout/item_emergency_contact.xml
@@ -8,7 +8,7 @@
-
+
+
-
-
-
-
-
-
+ app:layout_constraintStart_toEndOf="@+id/tv_name"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="12345678987" />
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f5d48d1..0ebbc49 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -21,6 +21,7 @@
#4D3AD8
#221C27
#bbbbbb
+ #929292
#4D4B50
#FF0000
#FF008000
@@ -78,4 +79,6 @@
#9D9D9D
#626E82
+ #4DFFFFFF
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..3568317
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,7 @@
+
+
+ 64dp
+ 21sp
+ 20sp
+ 16dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index e041b28..84be2b7 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -28,10 +28,10 @@