version:1.1.8

fix:
update:优化禁用
This commit is contained in:
2023-04-04 18:17:30 +08:00
parent ccf45273f7
commit 8b98116d87
14 changed files with 135 additions and 38 deletions

View File

@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
apply plugin: "com.tencent.android.tpns" apply plugin: "com.tencent.android.tpns"
def appName() { def appName() {
return "ZYLauncher" return "CubeZYLauncher"
} }
def releaseTime() { def releaseTime() {
@@ -17,8 +17,8 @@ android {
minSdkVersion 24 minSdkVersion 24
targetSdkVersion 29 targetSdkVersion 29
versionCode 5 versionCode 10
versionName "1.1.3" versionName "1.1.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -254,7 +254,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override @Override
public void onConnected() { public void onConnected() {
Log.e(TAG, "onConnected: "); Log.e(TAG, "onConnected: ");
RemoteManager.getInstance().setDefaultDesktop(); RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID);
} }
public static void toggleNotificationListenerService(Context context) { public static void toggleNotificationListenerService(Context context) {

View File

@@ -2,6 +2,7 @@ package com.uiui.zyos.adapter;
import android.content.Context; import android.content.Context;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.provider.Settings;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@@ -15,11 +16,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.uiui.zyos.R; import com.uiui.zyos.R;
import com.uiui.zyos.bean.DesktopIcon; import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.utils.ApkUtils; import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.AppUsedTimeUtils; import com.uiui.zyos.utils.AppUsedTimeUtils;
import com.uiui.zyos.utils.BitmapUtils; import com.uiui.zyos.utils.BitmapUtils;
import com.uiui.zyos.utils.IconUtils; import com.uiui.zyos.utils.IconUtils;
import com.uiui.zyos.utils.OpenApkUtils; import com.uiui.zyos.utils.OpenApkUtils;
import com.uiui.zyos.utils.ToastUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -62,8 +65,15 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
holder.root.setOnClickListener(new View.OnClickListener() { holder.root.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
int setting_other_appInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
if (setting_other_appInstaller == 0
&& !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName()
)) {
ToastUtil.show("已禁止应用打开");
} else {
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName()); OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
} }
}
}); });
} }

View File

@@ -10,17 +10,22 @@ public class CommonConfig {
/*是否激活接口请求缓存*/ /*是否激活接口请求缓存*/
public static final String ACTIVATIONBEAN_KEY = "UIUI_ACTIVATIONBEAN_KEY"; public static final String ACTIVATIONBEAN_KEY = "IFLYTEK_UIUI_ACTIVATIONBEAN_KEY";
/*是否激活*/ /*是否激活*/
public static final String UIUI_ACTIVATION_KEY = "uiui_activation"; public static final String UIUI_ACTIVATION_KEY = "iflytek_uiui_activation";
/*激活码类型*/ /*激活码类型*/
public static final String UIUI_CODE_TYPE_KEY = "uiui_code_type"; public static final String UIUI_CODE_TYPE_KEY = "iflytek_uiui_code_type";
/*体验到期时间戳*/ /*体验到期时间戳*/
public static final String UIUI_EXPIRE_TIME_KEY = "uiui_expire_time"; public static final String UIUI_EXPIRE_TIME_KEY = "iflytek_uiui_expire_time";
/*是否显示返回Android按钮*/
public static final String UIUI_RETURN_ANDROID_KEY = "iflytek_uiui_is_return_android";
public static final String MAP_LOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING"; public static final String MAP_LOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING";
public static final String MAP_LONGITUDE_KEY = "map_longitude_key"; public static final String MAP_LONGITUDE_KEY = "map_longitude_key";
public static final String MAP_LATITUDE_KEY = "map_latitude_key"; public static final String MAP_LATITUDE_KEY = "map_latitude_key";
public static final String MAP_ADDRESS_KEY = "map_address_key"; public static final String MAP_ADDRESS_KEY = "map_address_key";
public static final String MAP_ERROR_KEY = "map_error_key"; public static final String MAP_ERROR_KEY = "map_error_key";
public static final String SETTING_OTHER_APPINSTALLER_KEY = "setting_other_appInstaller";
} }

View File

@@ -37,7 +37,6 @@ import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.manager.RemoteManager; import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.utils.ApkUtils; import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.TimeUtils; import com.uiui.zyos.utils.TimeUtils;
import com.uiui.zyos.utils.ToastUtil;
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration; import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
import java.util.ArrayList; import java.util.ArrayList;
@@ -60,6 +59,8 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
TextView tv_name; TextView tv_name;
@BindView(R.id.tv_grade) @BindView(R.id.tv_grade)
TextView tv_grade; TextView tv_grade;
@BindView(R.id.tv_exit)
TextView tv_exit;
@BindView(R.id.iv_speaker) @BindView(R.id.iv_speaker)
ImageView iv_speaker; ImageView iv_speaker;
@BindView(R.id.tv_notification) @BindView(R.id.tv_notification)
@@ -188,7 +189,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
registerOwnReceiver(); registerOwnReceiver();
String name = mMMKV.decodeString("USERINFO_NAME", ""); String name = mMMKV.decodeString("USERINFO_NAME", "");
if (TextUtils.isEmpty(name)) { if (TextUtils.isEmpty(name)) {
tv_name.setText(getString(R.string.default_name)); tv_name.setText(getString(R.string.default_nickname));
} else { } else {
tv_name.setText(name); tv_name.setText(name);
} }
@@ -205,12 +206,18 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
cl_activation.setVisibility(View.GONE); cl_activation.setVisibility(View.GONE);
cl_app.setVisibility(View.VISIBLE); cl_app.setVisibility(View.VISIBLE);
} }
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); setButtonVisibility();
if (is_activation != 1) { tv_exit.setOnClickListener(new View.OnClickListener() {
tv_activation.setVisibility(View.VISIBLE); @Override
} else { public void onClick(View view) {
tv_activation.setVisibility(View.GONE); RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
if (!ApkUtils.openPackage(mContext, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME)) {
ApkUtils.gotoLauncher(mContext);
} }
mContext.finish();
System.exit(0);
}
});
tv_activation.setOnClickListener(new View.OnClickListener() { tv_activation.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
@@ -243,6 +250,22 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
rv_app.setAdapter(mAppAdapter); rv_app.setAdapter(mAppAdapter);
} }
private void setButtonVisibility(){
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
if (is_activation != 1) {
tv_exit.setVisibility(View.VISIBLE);
tv_activation.setVisibility(View.VISIBLE);
} else {
int isReturnAndroid = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_RETURN_ANDROID_KEY, 0);
if (isReturnAndroid == 0) {
tv_exit.setVisibility(View.INVISIBLE);
} else {
tv_exit.setVisibility(View.VISIBLE);
}
tv_activation.setVisibility(View.GONE);
}
}
@Override @Override
public void setUserVisibleHint(boolean isVisibleToUser) { public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser); super.setUserVisibleHint(isVisibleToUser);
@@ -277,7 +300,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
String name = snInfo.getSn_name(); String name = snInfo.getSn_name();
String grade = snInfo.getGrade(); String grade = snInfo.getGrade();
if (TextUtils.isEmpty(name)) { if (TextUtils.isEmpty(name)) {
tv_name.setText(getString(R.string.default_name)); tv_name.setText(getString(R.string.default_nickname));
} else { } else {
tv_name.setText(name); tv_name.setText(name);
} }
@@ -417,6 +440,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
Log.e("RefreshReceiver", "onReceive: " + action); Log.e("RefreshReceiver", "onReceive: " + action);
if (ACTION_REFRESH_BINDING_STATUS.equals(action)) { if (ACTION_REFRESH_BINDING_STATUS.equals(action)) {
mPresenter.getSnInfo(); mPresenter.getSnInfo();
setButtonVisibility();
} }
} }
} }

View File

@@ -297,9 +297,9 @@ public class RemoteManager {
} }
} }
public void setDefaultDesktop() { public void setDefaultDesktop(String pkg) {
try { try {
mGetInfoInterface.setDefaultLauncher(BuildConfig.APPLICATION_ID); mGetInfoInterface.setDefaultLauncher(pkg);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e(TAG, "setDefaultDesktop: " + e.getMessage()); Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
e.printStackTrace(); e.printStackTrace();

View File

@@ -20,6 +20,7 @@ import androidx.annotation.RequiresApi;
import com.uiui.zyos.BuildConfig; import com.uiui.zyos.BuildConfig;
import com.uiui.zyos.R; import com.uiui.zyos.R;
import com.uiui.zyos.bean.DesktopIcon; import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.receiver.InstallResultReceiver; import com.uiui.zyos.receiver.InstallResultReceiver;
import java.io.File; import java.io.File;
@@ -57,13 +58,23 @@ public class ApkUtils {
this.add("com.android.uiuios"); this.add("com.android.uiuios");
this.add("com.uiui.os"); this.add("com.uiui.os");
this.add("com.uiui.health"); this.add("com.uiui.health");
this.add("com.uiui.appstore");
this.add("com.tencent.android.qqdownloader"); this.add("com.tencent.android.qqdownloader");
this.add("com.alldocube.store"); this.add("com.alldocube.store");
this.add("com.joytv.live"); this.add("com.joytv.live");
this.add("com.iflytek.speechcloud"); this.add("com.iflytek.speechcloud");
this.add("com.safe.uiui"); this.add("com.safe.uiui");
this.add("com.uiuios.aios");
this.add("com.uiuios.sn");
this.add("com.uiuios.appstore");
this.add("com.uiuios.browser");
this.add("com.uiui.aios"); this.add("com.uiui.aios");
this.add("com.uiui.sn");
this.add("com.uiui.appstore");
this.add("com.uiui.browser");
this.add("com.teclast.zyos");
this.add("com.teclast.zy");
this.add("com.teclast.zyappstore");
this.add("com.teclast.zybrowser");
}}; }};
private static HashSet<String> excludeClassName = new HashSet<String>() {{ private static HashSet<String> excludeClassName = new HashSet<String>() {{
@@ -96,6 +107,10 @@ public class ApkUtils {
private static HashSet<String> allHintPackage = new HashSet<String>() {{ private static HashSet<String> allHintPackage = new HashSet<String>() {{
this.add("com.android.uiuios"); this.add("com.android.uiuios");
}}; }};
public static final String ANDROID_LAUNCHER3_PACKAGE_NAME = "com.android.launcher3";
public static final String ANDROID_LAUNCHER3_CLASS_NAME = "com.android.launcher3.Launcher";
private static String TAG = ApkUtils.class.getSimpleName(); private static String TAG = ApkUtils.class.getSimpleName();
public static ArrayList<ApplicationInfo> getSystemApp(Context context) { public static ArrayList<ApplicationInfo> getSystemApp(Context context) {
@@ -181,7 +196,7 @@ public class ApkUtils {
if (!TextUtils.isEmpty(appListString)) { if (!TextUtils.isEmpty(appListString)) {
packageList = new ArrayList<>(Arrays.asList(appListString.split(","))); packageList = new ArrayList<>(Arrays.asList(appListString.split(",")));
} }
int setting_other_appInstaller = Settings.Global.getInt(context.getContentResolver(), "setting_other_appInstaller", 1); int setting_other_appInstaller = Settings.Global.getInt(context.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
for (ResolveInfo resolveInfo : resolveinfoList) { for (ResolveInfo resolveInfo : resolveinfoList) {
String pkg = resolveInfo.activityInfo.packageName; String pkg = resolveInfo.activityInfo.packageName;
if (appIsDisable(context, pkg)) { if (appIsDisable(context, pkg)) {
@@ -194,15 +209,15 @@ public class ApkUtils {
// resolveInfos.add(resolveInfo); // resolveInfos.add(resolveInfo);
// } // }
} else { } else {
if (setting_other_appInstaller == 0) {//不显示自己安装的 // if (setting_other_appInstaller == 0) {//不显示自己安装的
if (packageList.contains(pkg)) { // if (packageList.contains(pkg)) {
resolveInfos.add(resolveInfo); // resolveInfos.add(resolveInfo);
} // }
} else { // } else {
if (allowPackages.contains(pkg) && !excludePackageName.contains(pkg)) { if (allowPackages.contains(pkg) && !excludePackageName.contains(pkg)) {
resolveInfos.add(resolveInfo); resolveInfos.add(resolveInfo);
} }
} // }
} }
} }
if (Settings.Global.getInt(context.getContentResolver(), "is_activity", 0) == 0) { if (Settings.Global.getInt(context.getContentResolver(), "is_activity", 0) == 0) {
@@ -558,4 +573,11 @@ public class ApkUtils {
public static int getUserId(int uid) { public static int getUserId(int uid) {
return uid / PER_USER_RANGE; return uid / PER_USER_RANGE;
} }
public static void gotoLauncher(Context context) {
Intent i = new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //android123提示如果是服务里调用必须加入new task标识
i.addCategory(Intent.CATEGORY_HOME);
context.startActivity(i);
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -12,7 +12,7 @@
<com.flyco.tablayout.SlidingTabLayout <com.flyco.tablayout.SlidingTabLayout
android:id="@+id/main_sliding_tab_layout" android:id="@+id/main_sliding_tab_layout"
android:layout_width="@dimen/dp_380" android:layout_width="@dimen/dp_420"
android:layout_height="@dimen/dp_24" android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_8" android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_2" android:layout_marginTop="@dimen/dp_2"

View File

@@ -45,7 +45,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8" android:layout_marginStart="@dimen/dp_8"
android:maxLines="1" android:maxLines="1"
android:text="@string/default_name" android:text="@string/default_nickname"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_10" android:textSize="@dimen/sp_10"
app:layout_constraintStart_toEndOf="@+id/iv_avatar" app:layout_constraintStart_toEndOf="@+id/iv_avatar"
@@ -63,14 +63,32 @@
app:layout_constraintStart_toStartOf="@+id/tv_name" /> app:layout_constraintStart_toStartOf="@+id/tv_name" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:background="@drawable/bt_checkupdate_selector"
android:paddingStart="@dimen/dp_8"
android:paddingTop="@dimen/dp_2"
android:paddingEnd="@dimen/dp_8"
android:paddingBottom="@dimen/dp_2"
android:textSize="@dimen/sp_10"
android:text="退出系统"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/constraintLayout5"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.476" />
<ImageView <ImageView
android:id="@+id/iv_speaker" android:id="@+id/iv_speaker"
android:layout_width="@dimen/dp_16" android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16" android:layout_height="@dimen/dp_16"
android:layout_marginStart="@dimen/dp_96" android:layout_marginStart="@dimen/dp_36"
android:src="@drawable/user_speaker" android:src="@drawable/user_speaker"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/constraintLayout5" app:layout_constraintStart_toEndOf="@+id/tv_exit"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
@@ -283,9 +301,9 @@
android:paddingEnd="@dimen/dp_8" android:paddingEnd="@dimen/dp_8"
android:paddingBottom="@dimen/dp_2" android:paddingBottom="@dimen/dp_2"
android:text="输入激活码" android:text="输入激活码"
android:visibility="gone"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_10" android:textSize="@dimen/sp_10"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -425,8 +443,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_margin="@dimen/dp_8" android:layout_margin="@dimen/dp_8"
android:scrollbars="vertical"
android:fadeScrollbars="false" android:fadeScrollbars="false"
android:scrollbars="vertical"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_date2" /> app:layout_constraintTop_toBottomOf="@+id/tv_date2" />

View File

@@ -45,7 +45,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8" android:layout_marginStart="@dimen/dp_8"
android:maxLines="1" android:maxLines="1"
android:text="@string/default_name" android:text="@string/default_nickname"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_10" android:textSize="@dimen/sp_10"
app:layout_constraintStart_toEndOf="@+id/iv_avatar" app:layout_constraintStart_toEndOf="@+id/iv_avatar"
@@ -63,14 +63,32 @@
app:layout_constraintStart_toStartOf="@+id/tv_name" /> app:layout_constraintStart_toStartOf="@+id/tv_name" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:background="@drawable/bt_checkupdate_selector"
android:paddingStart="@dimen/dp_8"
android:paddingTop="@dimen/dp_2"
android:paddingEnd="@dimen/dp_8"
android:paddingBottom="@dimen/dp_2"
android:textSize="@dimen/sp_10"
android:text="退出系统"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/constraintLayout5"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.476" />
<ImageView <ImageView
android:id="@+id/iv_speaker" android:id="@+id/iv_speaker"
android:layout_width="@dimen/dp_16" android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16" android:layout_height="@dimen/dp_16"
android:layout_marginStart="@dimen/dp_96" android:layout_marginStart="@dimen/dp_36"
android:src="@drawable/user_speaker" android:src="@drawable/user_speaker"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/constraintLayout5" app:layout_constraintStart_toEndOf="@+id/tv_exit"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView

View File

@@ -8,7 +8,7 @@
<string name="unbind">未绑定</string> <string name="unbind">未绑定</string>
<string name="notset">未设置</string> <string name="notset">未设置</string>
<string name="device_unauthorized">设备未经授权</string> <string name="device_unauthorized">设备未经授权</string>
<string name="default_name">王小明</string> <string name="default_nickname">小酷</string>
<string name="default_grade">一年级</string> <string name="default_grade">一年级</string>
<!-- TODO: Remove or change this placeholder text --> <!-- TODO: Remove or change this placeholder text -->