diff --git a/app/build.gradle b/app/build.gradle index aebdec8..9ff56b9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { minSdkVersion 24 targetSdkVersion 29 - versionCode 11 - versionName "1.1.0" + versionCode 13 + versionName "1.1.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a107ef2..7eef5c4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -170,7 +170,7 @@ android:screenOrientation="landscape" android:theme="@style/AppThemeWithoutFitsSystemWindows" /> getAllLauncherApps() { + PackageManager packageManager = getPackageManager(); + + // 构建用于查询桌面应用的Intent + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_HOME); + + // 查询所有可以处理该Intent的Activity + List resolveInfoList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL); + + List launcherPackageList = resolveInfoList.stream().filter(new Predicate() { + @Override + public boolean test(ResolveInfo resolveInfo) { + return !BuildConfig.APPLICATION_ID.equals(resolveInfo.activityInfo.packageName) + || !"com.jxw.launcher".equals(resolveInfo.activityInfo.packageName) + || !"com.handuan.os".equals(resolveInfo.activityInfo.packageName); + } + }).map(new Function() { + @Override + public ComponentName apply(ResolveInfo resolveInfo) { + return resolveInfo.getComponentInfo().getComponentName(); + } + }).collect(Collectors.toList()); + + return launcherPackageList; + } + private void exitDesktop() { - ComponentName componentName = new ComponentName("com.hihonor.android.launcher", "com.hihonor.android.launcher.unihome.UniHomeLauncher"); - Intent intent = new Intent(); - intent.setComponent(componentName); - startActivity(intent); + List componentNames = getAllLauncherApps(); + Log.e(TAG, "exitDesktop: " + componentNames); + if (componentNames != null && componentNames.size() != 0) { + ComponentName componentName = componentNames.get(0); + Intent intent = new Intent(); + intent.setComponent(componentName); + try { + startActivity(intent); + } catch (Exception e) { + Log.e(TAG, "exitDesktop: " + e.getMessage()); + } + } + startActivity(new Intent(Settings.ACTION_HOME_SETTINGS)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { diff --git a/app/src/main/java/com/xwad/os/activity/PasswordActivity.java b/app/src/main/java/com/xwad/os/activity/PasswordActivity.java index a1edb63..34d04c5 100644 --- a/app/src/main/java/com/xwad/os/activity/PasswordActivity.java +++ b/app/src/main/java/com/xwad/os/activity/PasswordActivity.java @@ -2,6 +2,7 @@ package com.xwad.os.activity; import android.content.Context; import android.content.Intent; +import android.os.Build; import android.os.Handler; import android.provider.Settings; import android.text.TextUtils; @@ -14,6 +15,7 @@ import androidx.databinding.DataBindingUtil; import com.tuo.customview.VerificationCodeView; import com.xwad.os.R; +import com.xwad.os.activity.addicon.AddIconActivity; import com.xwad.os.base.BaseDataBindingActivity; import com.xwad.os.config.CommonConfig; import com.xwad.os.databinding.ActivityPasswdBinding; @@ -29,6 +31,12 @@ public class PasswordActivity extends BaseDataBindingActivity { // return true; // } + +// @Override +// public boolean setfitWindow() { +// return true; +// } + @Override protected void initDataBinding() { mBinding = DataBindingUtil.setContentView(this, R.layout.activity_passwd); @@ -36,6 +44,26 @@ public class PasswordActivity extends BaseDataBindingActivity { @Override public void initView() { + if (Build.VERSION.SDK_INT >= 33) { + hideSystemUI(); + } + // 全屏展示 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + // 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。 + getWindow().getDecorView().setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); + } else { + // 全屏显示,隐藏状态栏 + getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); + } + } + getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); InputMethodManager imm = (InputMethodManager) PasswordActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); @@ -85,6 +113,20 @@ public class PasswordActivity extends BaseDataBindingActivity { mBinding.bt9.setOnClickListener(view1 -> add(mBinding.icv, "9")); } + private void hideSystemUI() { + // Enables regular immersive mode. + // For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE. + // Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY + View decorView = getWindow().getDecorView(); + decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE + // Set the content to appear under the system bars so that the + // content doesn't resize when the system bars hide and show. + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION +// | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + // Hide the nav bar and status bar + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN); + } + private void checkPasswd() { String content = mBinding.icv.getInputContent(); if (TextUtils.isEmpty(content) || content.length() != 6) { diff --git a/app/src/main/java/com/xwad/os/activity/AddIconActivity.java b/app/src/main/java/com/xwad/os/activity/addicon/AddIconActivity.java similarity index 66% rename from app/src/main/java/com/xwad/os/activity/AddIconActivity.java rename to app/src/main/java/com/xwad/os/activity/addicon/AddIconActivity.java index 168805d..45ea75e 100644 --- a/app/src/main/java/com/xwad/os/activity/AddIconActivity.java +++ b/app/src/main/java/com/xwad/os/activity/addicon/AddIconActivity.java @@ -1,4 +1,4 @@ -package com.xwad.os.activity; +package com.xwad.os.activity.addicon; import android.content.Context; import android.util.DisplayMetrics; @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.GridLayoutManager; import com.xwad.os.R; import com.xwad.os.adapter.AddAppAdapter; import com.xwad.os.base.BaseDataBindingActivity; +import com.xwad.os.base.mvvm.BaseMvvmActivity; import com.xwad.os.bean.DesktopIcon; import com.xwad.os.databinding.ActivityAddIconBinding; import com.xwad.os.manager.AppManager; @@ -20,27 +21,26 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Set; -public class AddIconActivity extends BaseDataBindingActivity { - - private ActivityAddIconBinding mBinding; +public class AddIconActivity extends BaseMvvmActivity { private AddAppAdapter mAddAppAdapter; + @Override + protected int getLayoutId() { + return R.layout.activity_add_icon; + } + @Override protected void initDataBinding() { - mBinding = DataBindingUtil.setContentView(this, R.layout.activity_add_icon); + mViewModel.setCtx(this); + mViewModel.setLifecycle(getLifecycleSubject()); + mViewModel.setVDBinding(mViewDataBinding); + mViewDataBinding.setClick(new BtnClick()); } @Override public void initView() { - mBinding.ivBack.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - finish(); - } - }); - - mBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 6)); + mViewDataBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 6)); HashMap stringIntegerHashMap = new HashMap<>(); WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); @@ -50,9 +50,9 @@ public class AddIconActivity extends BaseDataBindingActivity { stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.BOTTOM_DECORATION, (int) (density * 1));//底部间距 stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.LEFT_DECORATION, (int) (density * 20));//左间距 stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.RIGHT_DECORATION, (int) (density * 20));//右间距 - mBinding.recyclerView.addItemDecoration(new RecyclerViewSpacesItemDecoration(stringIntegerHashMap)); + mViewDataBinding.recyclerView.addItemDecoration(new RecyclerViewSpacesItemDecoration(stringIntegerHashMap)); mAddAppAdapter = new AddAppAdapter(); - mBinding.recyclerView.setAdapter(mAddAppAdapter); + mViewDataBinding.recyclerView.setAdapter(mAddAppAdapter); } @Override @@ -62,6 +62,13 @@ public class AddIconActivity extends BaseDataBindingActivity { Set appList = AppManager.getInstance().getFilterAppset(); mAddAppAdapter.setPackageSet(appList); - mBinding.tvAppsize.setText(String.format(getString(R.string.app_size), desktopIcons.size())); + mViewDataBinding.tvAppsize.setText(String.format(getString(R.string.app_size), desktopIcons.size())); + } + + + public class BtnClick { + public void exit(View view) { + finish(); + } } } diff --git a/app/src/main/java/com/xwad/os/activity/addicon/AddIconViewModel.java b/app/src/main/java/com/xwad/os/activity/addicon/AddIconViewModel.java new file mode 100644 index 0000000..5f05eec --- /dev/null +++ b/app/src/main/java/com/xwad/os/activity/addicon/AddIconViewModel.java @@ -0,0 +1,18 @@ +package com.xwad.os.activity.addicon; + +import com.trello.rxlifecycle4.android.ActivityEvent; +import com.xwad.os.base.mvvm.BaseViewModel; +import com.xwad.os.databinding.ActivityAddIconBinding; + +public class AddIconViewModel extends BaseViewModel { + + @Override + public ActivityAddIconBinding getVDBinding() { + return binding; + } + + @Override + public void onDestroy() { + + } +} diff --git a/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java b/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java index eca40eb..5f23ba3 100644 --- a/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java +++ b/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java @@ -7,6 +7,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Configuration; +import android.content.res.Resources; import android.os.BatteryManager; import android.os.Build; import android.os.Bundle; @@ -45,6 +46,7 @@ import com.xwad.os.databinding.ActivityHomeBinding; import com.xwad.os.dialog.PermissionsDialog; import com.xwad.os.dialog.PrivacyPolicyDialog; import com.xwad.os.fragment.ai.AiFragment; +import com.xwad.os.fragment.app.AppFragment; import com.xwad.os.fragment.chinese.ChineseFragment; import com.xwad.os.fragment.complex.ComplexFragment; import com.xwad.os.fragment.english.EnglishFragment; @@ -74,6 +76,9 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; import java.util.List; +import me.jessyan.autosize.AutoSizeCompat; +import me.jessyan.autosize.AutoSizeConfig; + public class HomeActivity extends BaseMvvmActivity implements RemoteManager.ConnectedListener { private static final String TAG = "HomeActivity"; @@ -98,6 +103,15 @@ public class HomeActivity extends BaseMvvmActivity height); + return super.getResources(); + } + @Override protected void initDataBinding() { mViewModel.setCtx(this); @@ -251,7 +265,7 @@ public class HomeActivity extends BaseMvvmActivity holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_unselect)); } } + holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); Log.e(TAG, "getView: " + pkg); - int i = IconUtils.appClassNameList.indexOf(pkg); - if (i != -1) { - String val = IconUtils.appIconList.get(i); - int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID); - if (resID == 0) { - Log.e(TAG, "getView: not found src : " + pkg); - holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); - } else { - holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID)); - } - } else { - if (AppManager.ADD_NAME.equals(pkg)) { - holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); - } else { - holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); - } - } + +// int i = IconUtils.appClassNameList.indexOf(pkg); +// if (i != -1) { +// String val = IconUtils.appIconList.get(i); +// int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID); +// if (resID == 0) { +// Log.e(TAG, "getView: not found src : " + pkg); +// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); +// } else { +// holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID)); +// } +// } else { +// if (AppManager.ADD_NAME.equals(pkg)) { +// holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); +// } else { +// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); +// } +// } holder.root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { diff --git a/app/src/main/java/com/xwad/os/adapter/AppAdapter.java b/app/src/main/java/com/xwad/os/adapter/AppAdapter.java index 3402e1d..e8fa798 100644 --- a/app/src/main/java/com/xwad/os/adapter/AppAdapter.java +++ b/app/src/main/java/com/xwad/os/adapter/AppAdapter.java @@ -33,6 +33,8 @@ import com.xwad.os.utils.Utils; import java.util.List; +import me.jessyan.autosize.AutoSizeCompat; + public class AppAdapter extends RecyclerView.Adapter { private static final String TAG = "AppAdapter"; @@ -44,40 +46,44 @@ public class AppAdapter extends RecyclerView.Adapter { @Override public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { mContext = parent.getContext(); + AutoSizeCompat.autoConvertDensityOfGlobal(mContext.getResources()); return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_app, parent, false)); } @Override public void onBindViewHolder(@NonNull AppHolder holder, int position) { + AutoSizeCompat.autoConvertDensityOfGlobal(mContext.getResources()); DesktopIcon desktopIcon = desktopIcons.get(position); String lable = desktopIcon.getLable(); holder.tv_appname.setText(lable); holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); String pkg = desktopIcon.getPackageName(); Log.e(TAG, "getView: " + pkg); - int i = IconUtils.appClassNameList.indexOf(pkg); - if (i != -1) { - String val = IconUtils.appIconList.get(i); - int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID); - if (resID == 0) { - Log.e(TAG, "getView: not found src : " + pkg); - holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); - } else { - holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID)); - } - } else { - switch (pkg) { - case AppManager.ADD_NAME: - case AppManager.UPDATE_NAME: - case AppManager.MANUAL_NAME: - case AppManager.SERVICE_NAME: - holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); - break; - default: - holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); - break; - } - } + holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); + +// int i = IconUtils.appClassNameList.indexOf(pkg); +// if (i != -1) { +// String val = IconUtils.appIconList.get(i); +// int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID); +// if (resID == 0) { +// Log.e(TAG, "getView: not found src : " + pkg); +// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); +// } else { +// holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID)); +// } +// } else { +// switch (pkg) { +// case AppManager.ADD_NAME: +// case AppManager.UPDATE_NAME: +// case AppManager.MANUAL_NAME: +// case AppManager.SERVICE_NAME: +// holder.iv_icon.setImageDrawable(desktopIcon.getIcon()); +// break; +// default: +// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon())); +// break; +// } +// } holder.root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { diff --git a/app/src/main/java/com/xwad/os/fragment/app/AppFragment.java b/app/src/main/java/com/xwad/os/fragment/app/AppFragment.java index a99e9be..251d9b5 100644 --- a/app/src/main/java/com/xwad/os/fragment/app/AppFragment.java +++ b/app/src/main/java/com/xwad/os/fragment/app/AppFragment.java @@ -96,7 +96,7 @@ public class AppFragment extends BaseMvvmFragment stringIntegerHashMap = new HashMap<>(); WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); diff --git a/app/src/main/java/com/xwad/os/fragment/app/AppViewModel.java b/app/src/main/java/com/xwad/os/fragment/app/AppViewModel.java index aa1a54a..4b65793 100644 --- a/app/src/main/java/com/xwad/os/fragment/app/AppViewModel.java +++ b/app/src/main/java/com/xwad/os/fragment/app/AppViewModel.java @@ -11,6 +11,7 @@ import com.xwad.os.bean.DesktopIcon; import com.xwad.os.databinding.FragmentAppBinding; import com.xwad.os.manager.AppManager; import com.xwad.os.utils.ApkUtils; +import com.xwad.os.utils.OpenApkUtils; import java.util.ArrayList; @@ -31,25 +32,25 @@ public class AppViewModel extends BaseViewModel desktopIcons = AppManager.getInstance().getFilterAppList(); - DesktopIcon appstoreDesktopIcon = new DesktopIcon(); - appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore")); - appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME); - appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME); - appstoreDesktopIcon.setLable("应用市场"); - Drawable appstoreDrawable; - if (ApkUtils.isAvailable(getCtx(), AppManager.APPSTORE_PACKAGE_NAME)) { - appstoreDrawable = ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore"); - } else { - appstoreDrawable = getCtx().getDrawable(R.drawable.com_android_appstore); - } - appstoreDesktopIcon.setIcon(appstoreDrawable); - desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon); +// DesktopIcon appstoreDesktopIcon = new DesktopIcon(); +// appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore")); +// appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME); +// appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME); +// appstoreDesktopIcon.setLable("应用市场"); +// Drawable appstoreDrawable; +// if (ApkUtils.isAvailable(getCtx(), AppManager.APPSTORE_PACKAGE_NAME)) { +// appstoreDrawable = ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore"); +// } else { +// appstoreDrawable = getCtx().getDrawable(R.drawable.com_android_appstore); +// } +// appstoreDesktopIcon.setIcon(appstoreDrawable); +// desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon); - DesktopIcon updateDesktopIcon = new DesktopIcon(); - updateDesktopIcon.setLable("应用更新"); - updateDesktopIcon.setPackageName(AppManager.UPDATE_NAME); - updateDesktopIcon.setIcon(getCtx().getDrawable(R.drawable.icon_update)); - desktopIcons.add(desktopIcons.size(), updateDesktopIcon); +// DesktopIcon updateDesktopIcon = new DesktopIcon(); +// updateDesktopIcon.setLable("应用更新"); +// updateDesktopIcon.setPackageName(AppManager.UPDATE_NAME); +// updateDesktopIcon.setIcon(getCtx().getDrawable(R.drawable.icon_update)); +// desktopIcons.add(desktopIcons.size(), updateDesktopIcon); // DesktopIcon manualIcon = new DesktopIcon(); // manualIcon.setLable("使用手册"); @@ -57,26 +58,26 @@ public class AppViewModel extends BaseViewModel { private static final String TAG = "ComplexFragment"; - private Activity mContext; + private FragmentActivity mContext; private MyAdapter adapter; private TabTbxAdapter tabTbxAdapter; @@ -116,12 +116,21 @@ public class ComplexFragment extends BaseMvvmFragment { @@ -279,11 +288,10 @@ public class ComplexFragment extends BaseMvvmFragment { private static final String TAG = "SafeFragment"; - private Activity mContext; - private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); + private Activity mContext; private AppInfo addAppinfo; private ZhMenuAdapter zhMenuAdapter; private List mlistAppInfo = new ArrayList<>(); private Handler mHandler = new Handler(); public String file_name = "app_list_6.0"; int len = 0; - + private PackageManager mPackageManager; // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER @@ -113,6 +113,8 @@ public class SafeFragment extends BaseMvvmFragment + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_add_icon.xml b/app/src/main/res/layout/activity_add_icon.xml index dd21781..5b101d9 100644 --- a/app/src/main/res/layout/activity_add_icon.xml +++ b/app/src/main/res/layout/activity_add_icon.xml @@ -2,10 +2,13 @@ + tools:context=".activity.addicon.AddIconActivity"> + diff --git a/app/src/main/res/layout/activity_permission.xml b/app/src/main/res/layout/activity_permission.xml index 7b2ac25..1cc526f 100644 --- a/app/src/main/res/layout/activity_permission.xml +++ b/app/src/main/res/layout/activity_permission.xml @@ -26,7 +26,7 @@ android:paddingEnd="8dp" android:text="@string/desktop_permission" android:textColor="@color/black" - android:textSize="14sp" + android:textSize="@dimen/permission_text_size" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -44,7 +44,7 @@ @@ -91,7 +91,7 @@ android:maxLines="1" android:text="存储图片或视频" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name0" /> @@ -107,7 +107,7 @@ android:onClick="@{click::openStorage}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -116,7 +116,7 @@ @@ -148,7 +148,7 @@ android:maxLines="1" android:text="读取电话状态" android:textColor="@color/black" - android:textSize="14sp" + android:textSize="@dimen/permission_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -160,7 +160,7 @@ android:maxLines="1" android:text="拨打和管理通话" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name1" /> @@ -176,7 +176,7 @@ android:onClick="@{click::openReadPhone}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -185,7 +185,7 @@ @@ -232,7 +232,7 @@ android:maxLines="1" android:text="设置亮度和声音" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name2" /> @@ -248,7 +248,7 @@ android:onClick="@{click::openWriteSettings}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -257,7 +257,7 @@ @@ -289,7 +289,7 @@ android:maxLines="1" android:text="定位权限" android:textColor="@color/black" - android:textSize="14sp" + android:textSize="@dimen/permission_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -301,7 +301,7 @@ android:maxLines="1" android:text="获取粗略位置" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name3" /> @@ -317,7 +317,7 @@ android:onClick="@{click::open_coarse_location}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -326,7 +326,7 @@ @@ -373,7 +373,7 @@ android:maxLines="1" android:text="获取精确位置" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name4" /> @@ -389,7 +389,7 @@ android:onClick="@{click::open_fine_location}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -398,7 +398,7 @@ @@ -445,7 +445,7 @@ android:maxLines="1" android:text="查看设备位置" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name5" /> @@ -461,7 +461,7 @@ android:onClick="@{click::open_background_location}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -470,7 +470,7 @@ @@ -517,7 +517,7 @@ android:maxLines="1" android:text="查看设备位置" android:textColor="@color/contact_text_color" - android:textSize="12sp" + android:textSize="@dimen/permission_hint_text_size" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_name6" /> @@ -533,7 +533,7 @@ android:onClick="@{click::open_notification}" android:text="去授权" android:textColor="@drawable/tv_permission" - android:textSize="13sp" + android:textSize="@dimen/permission_setting_text_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_default_apps.xml b/app/src/main/res/layout/dialog_default_apps.xml index eef25e4..776211f 100644 --- a/app/src/main/res/layout/dialog_default_apps.xml +++ b/app/src/main/res/layout/dialog_default_apps.xml @@ -23,7 +23,7 @@ android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginTop="3dp" - android:text="必备插件" + android:text="必备组件" android:textColor="#333333" android:textSize="12sp" /> diff --git a/app/src/main/res/layout/fg_content_wl.xml b/app/src/main/res/layout/fg_content_wl.xml index 9a96789..b7a7af3 100644 --- a/app/src/main/res/layout/fg_content_wl.xml +++ b/app/src/main/res/layout/fg_content_wl.xml @@ -1,461 +1,474 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content"> + android:layout_width="475dp" + android:layout_height="300dp" + android:orientation="horizontal" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - - - - - - + android:layout_marginBottom="16dp" + android:orientation="horizontal"> - + android:gravity="center_horizontal" + android:orientation="vertical"> - - + - + + + + + + + + + + + + + + + + + + + android:layout_marginTop="50dp" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + + + diff --git a/app/src/main/res/layout/fragment_app.xml b/app/src/main/res/layout/fragment_app.xml index b3cf1dc..95c223c 100644 --- a/app/src/main/res/layout/fragment_app.xml +++ b/app/src/main/res/layout/fragment_app.xml @@ -17,8 +17,8 @@ android:layout_height="match_parent"> - 999px 36dp - 56dp + 48dp 8sp + + 10sp + 12sp + 48dp + 11sp + \ No newline at end of file