diff --git a/app/build.gradle b/app/build.gradle
index 7b31e6a..aebdec8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
minSdkVersion 24
targetSdkVersion 29
- versionCode 10
- versionName "1.0.9"
+ versionCode 11
+ versionName "1.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4d1d18d..a107ef2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -218,8 +218,7 @@
android:theme="@style/DialogCloseOnTouchOutside" />
+ android:launchMode="singleTask" />
{
@@ -41,13 +48,30 @@ public class DeviceFragment extends BaseMvvmFragment() {
+ @Override
+ public void onChanged(AppUpdateInfo appUpdateInfo) {
+ if (appUpdateInfo == null) {
+ Toaster.show("已是最新版本");
+ } else {
+ if (ApkUtils.isUpdate(mContext, appUpdateInfo)) {
+ Intent intent = new Intent(mContext, UpdateActivity.class);
+ intent.putExtra("appUpdateInfo", appUpdateInfo);
+ startActivity(intent);
+ Toaster.show("有新的版本需要更新");
+ } else {
+ Toaster.show("已是最新版本");
+ }
+ }
+ }
+ });
+ mViewModel.checkUpdate();
}
@@ -64,5 +88,9 @@ public class DeviceFragment extends BaseMvvmFragment {
@@ -15,4 +30,39 @@ public class DeviceViewModel extends BaseViewModel mAppUpdateInfoData = new MutableLiveData<>();
+
+ public void checkUpdate() {
+ NetInterfaceManager.getInstance().getCheckUpdateObservable(BuildConfig.APPLICATION_ID)
+ .compose(RxLifecycle.bindUntilEvent(getLifecycle(), FragmentEvent.DESTROY))
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("checkUpdate", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse appUpdateInfoBaseResponse) {
+ Log.e("checkUpdate", "onNext: " + appUpdateInfoBaseResponse);
+ if (appUpdateInfoBaseResponse.code == 200) {
+ AppUpdateInfo appUpdateInfo = appUpdateInfoBaseResponse.data;
+ mAppUpdateInfoData.setValue(appUpdateInfo);
+ } else {
+ mAppUpdateInfoData.setValue(null);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("checkUpdate", "onError: ");
+ Toaster.show("网络连接失败");
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("checkUpdate", "onComplete: ");
+ }
+ });
+ }
}
diff --git a/app/src/main/java/com/xwad/os/jxw/JiaoShuiDialog.java b/app/src/main/java/com/xwad/os/jxw/JiaoShuiDialog.java
index e0aea8f..2286fbc 100644
--- a/app/src/main/java/com/xwad/os/jxw/JiaoShuiDialog.java
+++ b/app/src/main/java/com/xwad/os/jxw/JiaoShuiDialog.java
@@ -36,7 +36,7 @@ public class JiaoShuiDialog extends Dialog {
super.onCreate(bundle);
setContentView(R.layout.dialog_jiaoshui);
WindowManager windowManager = getWindow().getWindowManager();
- getWindow().setBackgroundDrawableResource(17170445);
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
Display defaultDisplay = windowManager.getDefaultDisplay();
Window window = getWindow();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
@@ -50,7 +50,7 @@ public class JiaoShuiDialog extends Dialog {
}
private void initView() {
- this.pag = (PAGView) findViewById(R.id.pag);
+ this.pag = findViewById(R.id.pag);
this.pag.setComposition(PAGFile.Load(this.activity.getAssets(), "pag/shjs.pag"));
this.pag.setRepeatCount(1);
this.pag.play();
diff --git a/app/src/main/java/com/xwad/os/utils/OpenApkUtils.java b/app/src/main/java/com/xwad/os/utils/OpenApkUtils.java
index 68ec453..64fd728 100644
--- a/app/src/main/java/com/xwad/os/utils/OpenApkUtils.java
+++ b/app/src/main/java/com/xwad/os/utils/OpenApkUtils.java
@@ -12,6 +12,7 @@ import android.content.pm.PackageManager;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
+import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -797,7 +798,7 @@ public class OpenApkUtils {
public void showDownloadDialog(Activity context, String pkg, String appName) {
Dialog dialog = new Dialog(context, R.style.ActionSheet);
Window window = dialog.getWindow();
- View inflate = ((LayoutInflater) context.getSystemService("layout_inflater")).inflate(R.layout.download_dialog, null);
+ View inflate = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.download_dialog, null);
TextView textView = inflate.findViewById(R.id.download_cancel);
TextView textView2 = inflate.findViewById(R.id.tag_title);
if (!TextUtils.isEmpty(appName)) {
@@ -826,7 +827,7 @@ public class OpenApkUtils {
WindowManager.LayoutParams attributes = window.getAttributes();
attributes.x = 0;
attributes.y = 0;
- attributes.gravity = 17;
+ attributes.gravity = Gravity.CENTER;
dialog.onWindowAttributesChanged(attributes);
dialog.setCanceledOnTouchOutside(true);
dialog.setContentView(inflate);
diff --git a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/LockDialog.java b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/LockDialog.java
index 261b5e1..72aed70 100644
--- a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/LockDialog.java
+++ b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/LockDialog.java
@@ -37,7 +37,7 @@ public class LockDialog extends Dialog {
super.onCreate(bundle);
setContentView(R.layout.dialog_lock);
WindowManager windowManager = getWindow().getWindowManager();
- getWindow().setBackgroundDrawableResource(17170445);
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
Display defaultDisplay = windowManager.getDefaultDisplay();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
Point point = new Point();
diff --git a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/QhbzDialog.java b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/QhbzDialog.java
index e157a3b..c9cb100 100644
--- a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/QhbzDialog.java
+++ b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/QhbzDialog.java
@@ -55,7 +55,7 @@ public class QhbzDialog extends Dialog {
super.onCreate(bundle);
setContentView(R.layout.dialog_qhbz);
WindowManager windowManager = getWindow().getWindowManager();
- getWindow().setBackgroundDrawableResource(17170445);
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
Display defaultDisplay = windowManager.getDefaultDisplay();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
defaultDisplay.getSize(new Point());
diff --git a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/RemoveAppDialog.java b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/RemoveAppDialog.java
index 5c920fa..f84a85f 100644
--- a/app/src/main/java/com/xwad/os/view/jxw/view/dialog/RemoveAppDialog.java
+++ b/app/src/main/java/com/xwad/os/view/jxw/view/dialog/RemoveAppDialog.java
@@ -34,7 +34,7 @@ public class RemoveAppDialog extends Dialog {
super.onCreate(bundle);
setContentView(R.layout.dialog_removeapp);
WindowManager windowManager = getWindow().getWindowManager();
- getWindow().setBackgroundDrawableResource(17170445);
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
Display defaultDisplay = windowManager.getDefaultDisplay();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
Point point = new Point();
diff --git a/app/src/main/java/com/xwad/os/view/jxw/widget/AppsDialog.java b/app/src/main/java/com/xwad/os/view/jxw/widget/AppsDialog.java
index 4807e50..1587c0c 100644
--- a/app/src/main/java/com/xwad/os/view/jxw/widget/AppsDialog.java
+++ b/app/src/main/java/com/xwad/os/view/jxw/widget/AppsDialog.java
@@ -68,7 +68,7 @@ public class AppsDialog extends Dialog {
super.onCreate(bundle);
setContentView(R.layout.dialog_yw_apps);
WindowManager windowManager = getWindow().getWindowManager();
- getWindow().setBackgroundDrawableResource(17170445);
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
Display defaultDisplay = windowManager.getDefaultDisplay();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
defaultDisplay.getSize(new Point());
diff --git a/app/src/main/java/com/xwad/os/view/jxw/widget/DefaultAppsDialog.java b/app/src/main/java/com/xwad/os/view/jxw/widget/DefaultAppsDialog.java
new file mode 100644
index 0000000..906788d
--- /dev/null
+++ b/app/src/main/java/com/xwad/os/view/jxw/widget/DefaultAppsDialog.java
@@ -0,0 +1,119 @@
+package com.xwad.os.view.jxw.widget;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Point;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.Display;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.xwad.os.R;
+import com.xwad.os.bean.jxw.ItemsBean;
+import com.xwad.os.utils.OpenApkUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DefaultAppsDialog extends Dialog {
+ private Activity activity;
+ private AppAdapter appAdapter;
+
+ private List appList;
+ private Callback mCallback;
+
+ private RecyclerView rv_apps;
+
+ public interface Callback {
+ void onCallback();
+ }
+
+ public DefaultAppsDialog(Context context) {
+ super(context, R.style.ActionSheetDialogStyle);
+ appList = new ArrayList<>();
+ activity = (Activity) context;
+ }
+
+ @Override
+ protected void onCreate(Bundle bundle) {
+ super.onCreate(bundle);
+ setContentView(R.layout.dialog_default_apps);
+ WindowManager windowManager = getWindow().getWindowManager();
+ getWindow().setBackgroundDrawableResource(R.drawable.bg_shape_ffffff_40);
+ Display defaultDisplay = windowManager.getDefaultDisplay();
+ WindowManager.LayoutParams attributes = getWindow().getAttributes();
+ defaultDisplay.getSize(new Point());
+ getWindow().setAttributes(attributes);
+ setCanceledOnTouchOutside(true);
+ setCancelable(true);
+ getWindow().setDimAmount(0.3f);
+ initView();
+ }
+
+ private void initView() {
+ GridLayoutManager gridLayoutManager = new GridLayoutManager(activity, 2);
+ rv_apps = findViewById(R.id.rv_apps);
+ appAdapter = new AppAdapter(getDefaultApps());
+ rv_apps.setLayoutManager(gridLayoutManager);
+ rv_apps.setAdapter(appAdapter);
+
+ findViewById(R.id.ll_gb).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ dismiss();
+ }
+ });
+ }
+
+ public void setOnCallback(Callback callback) {
+ mCallback = callback;
+ }
+
+ public class AppAdapter extends BaseQuickAdapter {
+ public AppAdapter(List list) {
+ super(R.layout.item_dialog_app, list);
+ }
+
+ @Override
+ public void convert(BaseViewHolder baseViewHolder, final ItemsBean itemsBean) {
+ RelativeLayout relativeLayout = baseViewHolder.getView(R.id.rl_root);
+ ((ImageView) baseViewHolder.getView(R.id.iv_app_icon)).setImageResource(mContext.getResources().getIdentifier(itemsBean.getIcon(), "drawable", mContext.getPackageName()));
+ ((TextView) baseViewHolder.getView(R.id.tv_app_name)).setText(itemsBean.getText());
+ relativeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ jumpTag(itemsBean);
+ }
+ });
+ }
+ }
+
+ public void jumpTag(ItemsBean itemsBean) {
+ if (activity != null) {
+ Callback callback = mCallback;
+ if (callback != null) {
+ callback.onCallback();
+ }
+// MyApp.getInstance().mBottomBtnOnClickListener.setContext(activity);
+// MyApp.getInstance().mBottomBtnOnClickListener.onClick(viewTag);
+ OpenApkUtils.getInstance().openJxwApp(activity, itemsBean.getTag());
+ }
+ }
+
+ private List getDefaultApps() {
+ List itemsBeans = new ArrayList<>();
+ itemsBeans.add(new ItemsBean("icon_bbx_launcher", "", "com.jxw.launcher,,,,资源下载", "资源下载"));
+ itemsBeans.add(new ItemsBean("icon_bbx_player", "", "com.study.flashplayer,,,,播放器", "播放器"));
+ return itemsBeans;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/jxw_ic_launcher.png b/app/src/main/res/drawable-hdpi/jxw_ic_launcher.png
new file mode 100644
index 0000000..b468d99
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/jxw_ic_launcher.png differ
diff --git a/app/src/main/res/drawable-nodpi/icon_bbx_app.png b/app/src/main/res/drawable-nodpi/icon_bbx_app.png
new file mode 100644
index 0000000..c697298
Binary files /dev/null and b/app/src/main/res/drawable-nodpi/icon_bbx_app.png differ
diff --git a/app/src/main/res/drawable-nodpi/icon_bbx_launcher.png b/app/src/main/res/drawable-nodpi/icon_bbx_launcher.png
new file mode 100644
index 0000000..e168a86
Binary files /dev/null and b/app/src/main/res/drawable-nodpi/icon_bbx_launcher.png differ
diff --git a/app/src/main/res/drawable-nodpi/icon_bbx_player.png b/app/src/main/res/drawable-nodpi/icon_bbx_player.png
new file mode 100644
index 0000000..3567a51
Binary files /dev/null and b/app/src/main/res/drawable-nodpi/icon_bbx_player.png differ
diff --git a/app/src/main/res/layout/dialog_default_apps.xml b/app/src/main/res/layout/dialog_default_apps.xml
new file mode 100644
index 0000000..eef25e4
--- /dev/null
+++ b/app/src/main/res/layout/dialog_default_apps.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_device.xml b/app/src/main/res/layout/fragment_device.xml
index 757b4ee..b61f6cc 100644
--- a/app/src/main/res/layout/fragment_device.xml
+++ b/app/src/main/res/layout/fragment_device.xml
@@ -83,6 +83,7 @@
@@ -680,6 +679,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 28204b3..ccce7bf 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -3292,6 +3292,6 @@
999px
36dp
- 44dp
+ 56dp
8sp
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 45a2687..12a7a9e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8,7 +8,7 @@
未设置
设备未经授权
小学王
- 七年级
+ 一年级
Hello blank fragment