From 2653b91e702e0543fee9d1407a1f943d9835a339 Mon Sep 17 00:00:00 2001
From: Administrator <981964879@qq.com>
Date: Fri, 6 Dec 2019 09:39:06 +0800
Subject: [PATCH] =?UTF-8?q?update:2019.12.03=20fix:=20add:=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E5=9C=A8fragment=E4=B8=AD=E6=8E=A5=E6=94=B6=E5=B9=BF?=
=?UTF-8?q?=E6=92=AD=E6=B6=88=E6=81=AF=E6=9B=B4=E6=96=B0=E7=95=8C=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 4 +-
.../java/com/appstore/uiui/MyApplication.java | 15 ++++--
.../activity/DownloadManagerActivity.java | 29 +++++++++-
.../uiui/activity/LocalManagerActivity.java | 3 ++
.../com/appstore/uiui/adapter/AppAdapter.java | 21 ++++++--
.../uiui/adapter/DownloadManagerAdapter.java | 8 ++-
.../uiui/adapter/LocalAppAdapter.java | 2 -
.../uiui/adapter/UpdateAppAdapter.java | 4 +-
.../uiui/fragment/FeaturedFragment.java | 50 +++++++++++++++++-
.../uiui/fragment/ManageFragment.java | 2 +-
.../uiui/receiver/AppManagerReceiver.java | 13 ++++-
app/src/main/res/drawable/btn_style_none.xml | 36 +++++++++++++
app/src/main/res/drawable/btn_style_open.xml | 36 +++++++++++++
app/src/main/res/drawable/ic_kind_detail.png | Bin 291 -> 1838 bytes
app/src/main/res/layout/fragment_manage.xml | 28 +++++-----
app/src/main/res/layout/item_app.xml | 32 ++++++-----
app/src/main/res/layout/item_kind.xml | 2 +-
app/src/main/res/layout/item_local_app.xml | 23 +++-----
app/src/main/res/values/colors.xml | 2 +-
19 files changed, 245 insertions(+), 65 deletions(-)
create mode 100644 app/src/main/res/drawable/btn_style_none.xml
create mode 100644 app/src/main/res/drawable/btn_style_open.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2b147fb..d213d62 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -47,7 +47,9 @@
-
+
+
+
diff --git a/app/src/main/java/com/appstore/uiui/MyApplication.java b/app/src/main/java/com/appstore/uiui/MyApplication.java
index db1ea2c..feb48e8 100644
--- a/app/src/main/java/com/appstore/uiui/MyApplication.java
+++ b/app/src/main/java/com/appstore/uiui/MyApplication.java
@@ -12,8 +12,10 @@ import android.util.Log;
import androidx.annotation.NonNull;
import com.appstore.uiui.jpush.Logger;
+import com.appstore.uiui.network.OKGOPost;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils;
+import com.appstore.uiui.utils.SPUtils;
import com.appstore.uiui.utils.ToastUtil;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.FileCallback;
@@ -329,9 +331,9 @@ public class MyApplication extends Application {
PackageManager pm = getPackageManager();
//后台为0可能传过来null
if (is_lock == 1) {
- pm.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
- } else {
pm.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
+ } else {
+ pm.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
}
} catch (JSONException e) {
e.printStackTrace();
@@ -379,12 +381,17 @@ public class MyApplication extends Application {
}
synchronized private void unintallApk(String json) {
+ String sn_id = (String) SPUtils.get(getApplicationContext(), "sn_id", "-1");
try {
JSONObject object = new JSONObject(json);
String packageName = object.getString("package");
ToastUtil.debugShow("收到应用卸载消息:包名" + packageName);
- if (!packageName.equals("") && !packageName.equals(getAppContext().getPackageName())) {
- ApkUtils.deleteApkInSilence(packageName);
+ if (!packageName.equals("") && !packageName.equals(getApplicationContext().getPackageName())) {
+ if (!ApkUtils.isAvailable(getApplicationContext(), packageName)) {
+ OKGOPost.setAppuninstallInfo(sn_id, packageName);
+ } else {
+ ApkUtils.deleteApkInSilence(packageName);
+ }
}
} catch (JSONException e) {
e.printStackTrace();
diff --git a/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java b/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java
index 8436dc6..0702afb 100644
--- a/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java
+++ b/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java
@@ -1,18 +1,28 @@
package com.appstore.uiui.activity;
+import android.os.Handler;
+import android.os.Message;
import android.view.View;
import android.widget.Adapter;
+import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.appstore.uiui.R;
+import com.appstore.uiui.adapter.AppAdapter;
import com.appstore.uiui.adapter.DownloadManagerAdapter;
import com.appstore.uiui.base.BaseActivity;
+import com.appstore.uiui.bean.AppInfo;
+import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.ToastUtil;
+import com.lzy.okgo.model.Progress;
import com.lzy.okserver.OkDownload;
+import com.lzy.okserver.download.DownloadListener;
import com.lzy.okserver.task.XExecutor;
+import java.io.File;
+
public class DownloadManagerActivity extends BaseActivity implements XExecutor.OnAllTaskEndListener {
private RecyclerView recyclerView;
private DownloadManagerAdapter adapter;
@@ -31,8 +41,8 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
@Override
protected void initData() {
okDownload = OkDownload.getInstance();
- adapter = new DownloadManagerAdapter(this);
- adapter.updateData(DownloadManagerAdapter.TYPE_ALL);
+ adapter = new DownloadManagerAdapter(this, handler);
+ adapter.updateData(DownloadManagerAdapter.TYPE_ING);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
okDownload.addOnAllTaskEndListener(this);
@@ -47,6 +57,8 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
@Override
public void onAllTaskEnd() {
ToastUtil.show("所有任务已完成");
+ adapter.notifyDataSetChanged();
+
}
@Override
@@ -65,4 +77,17 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
public void finish(View view) {
this.finish();
}
+
+ private Handler handler = new Handler() {
+ @Override
+ public void handleMessage(@NonNull Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == 100) {
+ adapter.updateData(DownloadManagerAdapter.TYPE_ING);
+ adapter.notifyDataSetChanged();
+ }
+ }
+ };
+
+
}
diff --git a/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java b/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java
index 5fb58cb..7daa4c7 100644
--- a/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java
+++ b/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java
@@ -82,6 +82,9 @@ public class LocalManagerActivity extends BaseActivity implements RefreshManager
LocalApp bean = new LocalApp();
bean.setAppName(resolveInfoList.get(i).loadLabel(getApplicationContext().getPackageManager()).toString());
String packageName = resolveInfoList.get(i).activityInfo.packageName;
+ if (packageName.equals(getApplicationContext().getPackageName())||packageName.equals("com.android.uiuios")){
+ continue;
+ }
bean.setPackageName(packageName);
Drawable icon = resolveInfoList.get(i).loadIcon(getApplicationContext().getPackageManager());
bean.setIcon(icon);
diff --git a/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java b/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java
index 12f27b9..bf5c0f0 100644
--- a/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java
+++ b/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java
@@ -1,7 +1,9 @@
package com.appstore.uiui.adapter;
+import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.content.IntentFilter;
import android.telecom.Call;
import android.view.LayoutInflater;
import android.view.View;
@@ -18,7 +20,9 @@ import com.appstore.uiui.R;
import com.appstore.uiui.activity.DetailsActivity;
import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.listener.LogDownloadListener;
+import com.appstore.uiui.network.OKGOPost;
import com.appstore.uiui.utils.ApkUtils;
+import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.ToastUtil;
import com.bumptech.glide.Glide;
import com.lzy.okgo.OkGo;
@@ -45,6 +49,7 @@ public class AppAdapter extends RecyclerView.Adapter {
private boolean isNotLoadBitmap = false;
+
//order代表是否显示所在的位置,1.2.3.
public AppAdapter(List appInfoList, boolean isShowOrder, Context context) {
this.mContext = context;
@@ -60,6 +65,7 @@ public class AppAdapter extends RecyclerView.Adapter {
@Override
public void onBindViewHolder(Holder holder, final int position) {
+
final AppInfo appInfo = mAppInfoList.get(position);
final DownloadTask downloadTask = OkDownload.getInstance().getTask(appInfo.getApp_url());
holder.setTag(appInfo.getApp_url());
@@ -81,6 +87,7 @@ public class AppAdapter extends RecyclerView.Adapter {
} else {
holder.tvName.setText(appInfo.getApp_name());
}
+ holder.tvSize.setText(appInfo.getApp_size() + "M");
holder.ratingBar.setRating((float) appInfo.getApp_score());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -95,11 +102,17 @@ public class AppAdapter extends RecyclerView.Adapter {
if (appInfo.isInstall()) {
if (appInfo.isUpdate()) {
holder.btnDownLoad.setText("更新");
+ holder.btnDownLoad.setTextColor(mContext.getColor(R.color.green));
+ holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_none));
} else {
holder.btnDownLoad.setText("打开");
+ holder.btnDownLoad.setTextColor(mContext.getColor(R.color.black));
+ holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_open));
}
} else {
holder.btnDownLoad.setText("下载");
+ holder.btnDownLoad.setTextColor(mContext.getColor(R.color.green));
+ holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_none));
if (downloadTask != null) {
holder.refresh(downloadTask.progress);
}
@@ -141,11 +154,10 @@ public class AppAdapter extends RecyclerView.Adapter {
public class Holder extends RecyclerView.ViewHolder {
ImageView ivIcon;
- TextView tvCompany, tvName;
+ TextView tvCompany, tvName, tvSize;
Button btnDownLoad;
RatingBar ratingBar;
// TextView tvInstalled;
- CardView cardView;
private DownloadTask task;
private String tag;
@@ -155,10 +167,10 @@ public class AppAdapter extends RecyclerView.Adapter {
ivIcon = itemView.findViewById(R.id.app_iv_icon);
tvCompany = itemView.findViewById(R.id.app_tv_company);
tvName = itemView.findViewById(R.id.app_tv_name);
+ tvSize = itemView.findViewById(R.id.app_tv_size);
btnDownLoad = itemView.findViewById(R.id.app_btn_download);
ratingBar = itemView.findViewById(R.id.app_rating_bar);
// tvInstalled = itemView.findViewById(R.id.app_tv_installed);
- cardView = itemView.findViewById(R.id.app_card_view);
}
public void bind() {
@@ -180,7 +192,7 @@ public class AppAdapter extends RecyclerView.Adapter {
btnDownLoad.setText("等待");
break;
case Progress.FINISH:
- btnDownLoad.setText("完成");
+ btnDownLoad.setText("安装中");
break;
case Progress.LOADING:
btnDownLoad.setText((int) (progress.fraction * 100) + "%");
@@ -202,6 +214,7 @@ public class AppAdapter extends RecyclerView.Adapter {
}
}
+
public void setNotLoadBitmap(boolean isNotLoadBitmap) {
this.isNotLoadBitmap = isNotLoadBitmap;
notifyDataSetChanged();
diff --git a/app/src/main/java/com/appstore/uiui/adapter/DownloadManagerAdapter.java b/app/src/main/java/com/appstore/uiui/adapter/DownloadManagerAdapter.java
index c6c799a..691716e 100644
--- a/app/src/main/java/com/appstore/uiui/adapter/DownloadManagerAdapter.java
+++ b/app/src/main/java/com/appstore/uiui/adapter/DownloadManagerAdapter.java
@@ -1,6 +1,7 @@
package com.appstore.uiui.adapter;
import android.content.Context;
+import android.os.Handler;
import android.text.format.Formatter;
import android.view.LayoutInflater;
import android.view.View;
@@ -40,10 +41,12 @@ public class DownloadManagerAdapter extends RecyclerView.Adapter" + appInfo.getNewVersionName());
holder.btnDownLoad.setText("更新");
+ holder.btnDownLoad.setTextColor(context.getColor(R.color.green));
+ holder.btnDownLoad.setBackground(context.getDrawable(R.drawable.btn_style_none));
holder.btnDownLoad.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -96,7 +98,6 @@ public class UpdateAppAdapter extends RecyclerView.Adapter appInfoList;//
- private List newAppInfoList;
+ private List newAppInfoList=new ArrayList<>();
private AppAdapter adapter;
private boolean isNotLoadBitmap;
+ private installReceiver myReceiver;
@Override
public int getLayoutId() {
return R.layout.fragment_featured;
}
+ @Override
+ public void onStop() {
+ super.onStop();
+ if (myReceiver != null) {
+ try {
+ getActivity().getApplication().unregisterReceiver(myReceiver);
+ } catch (Exception e) {
+ LogUtils.e("onStop", e.getMessage());
+ }
+ }
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ adapter.setData(checkUpdateOrInstalled(newAppInfoList));
+ adapter.notifyDataSetChanged();
+ if (myReceiver == null) {
+ myReceiver = new installReceiver();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction("com.appstore.uiui.PACKAGE_ADDED");
+ filter.addAction("com.appstore.uiui.PACKAGE_REPLACED");
+ filter.addAction("com.appstore.uiui.PACKAGE_REMOVED");
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ getActivity().getApplication().registerReceiver(myReceiver, filter);
+ }
+ }
+
@Override
public void initViews(View view) {
mRvResult = view.findViewById(R.id.featured_rv_result);
@@ -62,7 +95,7 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
isNotLoadBitmap = false;
- newAppInfoList = new ArrayList<>();
+
adapter = new AppAdapter(newAppInfoList, false, getContext());
adapter.setHasStableIds(true);
mRvResult.setAdapter(adapter);
@@ -126,4 +159,17 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
return list;
}
+ public class installReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ //接收安装广播
+ if (action.equals("com.appstore.uiui.PACKAGE_ADDED") || action.equals("com.appstore.uiui.PACKAGE_REMOVED") || action.equals("com.appstore.uiui.PACKAGE_REPLACED")) {
+ adapter.setData(checkUpdateOrInstalled(newAppInfoList));
+ adapter.notifyDataSetChanged();
+ }
+
+ }
+ }
+
}
diff --git a/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java b/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java
index 0663961..c6473dd 100644
--- a/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java
+++ b/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java
@@ -161,7 +161,7 @@ public class ManageFragment extends LazyLoadFragment {
applist = (List) msg.obj;
updateDta(applist);
updateNum = updateAppInfoList.size();
- manage_tv_updateNum.setText(updateNum + "个应用可以升级");
+ manage_tv_updateNum.setText(updateNum + "");
adapter.notifyDataSetChanged();
break;
}
diff --git a/app/src/main/java/com/appstore/uiui/receiver/AppManagerReceiver.java b/app/src/main/java/com/appstore/uiui/receiver/AppManagerReceiver.java
index 5ea817d..26d6aa6 100644
--- a/app/src/main/java/com/appstore/uiui/receiver/AppManagerReceiver.java
+++ b/app/src/main/java/com/appstore/uiui/receiver/AppManagerReceiver.java
@@ -25,12 +25,19 @@ public class AppManagerReceiver extends BroadcastReceiver {
action = intent.getAction();
//接收安装广播
if (action.equals(Intent.ACTION_PACKAGE_ADDED) || action.equals(Intent.ACTION_PACKAGE_REPLACED)) {
+ if (action.equals(Intent.ACTION_PACKAGE_ADDED)){
+ Intent intents = new Intent("com.appstore.uiui.PACKAGE_ADDED");
+ context.sendBroadcast(intents);
+ }else {
+ Intent intents = new Intent("com.appstore.uiui.PACKAGE_REPLACED");
+ context.sendBroadcast(intents);
+ }
String packageName = intent.getDataString().replace("package:", "");
String name = ApkUtils.getApplicationName(context, packageName);
ToastUtil.show(name + ":安装成功");
LogUtils.e(TAG, "安装了:" + packageName + "包名的程序");
// ToastTool.show("安装成功");
- if (!packageName.equals(context.getPackageName())) {
+ if (!packageName.equals(context.getPackageName())&&!packageName.equals("com.android.uiuios")) {
if (member_id == -1 || sn_id.equals("-1")) {
OKGOPost.getUserInfo(context);
} else {
@@ -43,7 +50,9 @@ public class AppManagerReceiver extends BroadcastReceiver {
if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
String packageName = intent.getDataString().replace("package:", "");
LogUtils.e(TAG, "卸载了:" + packageName + "包名的程序");
- if (!packageName.equals(context.getPackageName())) {
+ Intent intents = new Intent("com.appstore.uiui.PACKAGE_REMOVED");
+ context.sendBroadcast(intents);
+ if (!packageName.equals(context.getPackageName())&&!packageName.equals("com.android.uiuios")) {
if (member_id == -1 || sn_id.equals("-1")) {
OKGOPost.getUserInfo(context);
} else {
diff --git a/app/src/main/res/drawable/btn_style_none.xml b/app/src/main/res/drawable/btn_style_none.xml
new file mode 100644
index 0000000..cdfdf43
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_none.xml
@@ -0,0 +1,36 @@
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_style_open.xml b/app/src/main/res/drawable/btn_style_open.xml
new file mode 100644
index 0000000..4c32f27
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_open.xml
@@ -0,0 +1,36 @@
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_kind_detail.png b/app/src/main/res/drawable/ic_kind_detail.png
index 3d1afef29d5a168c6732ed3e9beb2f80f6d8f397..4b6ed7d5881eca2789b570980c8dd78ab112e951 100644
GIT binary patch
literal 1838
zcmaJ?Yfuwc6kY{ML=+Gd6@?`T^#MsX5FRN}^H?C#AdifqSanI35KXc%yPDu@3N;{#
zJjO>9p&(X7)F?^?Yqc6`Ma!UrM6nCW7}_nbN3ch0%z+u5AB
z*r>6NQyc*R7%PevCXhSdwx|x|`@RHtLT)4QgeX2>YMT0#H0h!zESGAsoJMJhy&CZLEcef1SI0s!oM6p|z&
zN&FQ@imB*`ErzaFX-G5xM9kG|5a}wE08>!8Ld~UhpZ%EzDr8*RBDR<*)(FrvMf5r?
znz$}jB3-vi8ZM*FodZVbIV6D!B@j@rQmS!|o=fZJ<&bBan?VEnLx@#e+Q*`j#Brbi
z)1n}o&JL6^pQaK62$bnp>
z#igYYgoeXl=yW=|E{Kk4uTzG6+#zs#RzR1*QgV
zj7SQ$hTzi3NH;Js7f^yjS~szfAxNr7?-4L
zP(}iZV{5cha&W1>wp1F9K#L*-rj=lra_|=8(l7$U(=ZJv5P&llDbzAdhtKQ}7mGO}
zHBKOEDJl|jX(Rz%p^$NcBUvnFC_fSkVZ#sv^LRoiG(42g=CMM8d9W~e5G%x_YgDM3
z7{tnkuma|=Sep`58ZxsG)hgDavPdna0{c7WD2A^^I4s`)RyJ%ce0W$agDi$&o9icY
z9(0l7u^oq0OBzGEN7ba*wWO+hp46WtKbF-ZAy1-T_G0hy=*0L*7j(4_r&~?UG3!rU
zZ^(X{+?(Reb9r%zoEKd1V9n;;>d2(-3B0C-4kq_wCz|J3qmo{aZ+5EksP3quc;~Ks
zBWE40KGt3Qa_qvEwyraj*L^G6yRBXI7Vp0|Jicbpo++-6Y<;c|Opmtb(_F@96i_z{
z!RaG?T&X$pK6O!p2t9TtmaG<9Q9#hq7{n`^CoA8P83_*eYodRTJR**L8S&v=sO
zjN?1LwX^elD~2Ih2*a1cmUe8*J+)q;n7QfP@oU*g8NnQ|f}r?9&1g`D51amW1%w5hi}bL>yu4zOOnmE#zZ
zbi<+6(o(EUOM7GRiz!^IA0sfAUXgY2o=lw3RAYLUy~OE0<kAjh8H4?GiR
zAsa5Y69FC02JhvVaUd+anme5pHcHCuCS0cY@}OJ%iSevuI+y$
Mf@6gy{))_h0e{lS@&Et;
literal 291
zcmeAS@N?(olHy`uVBq!ia0vp^DnKm3!3-pqrme35QuYBpA+G=b{|7S321i-%$pJNs
zmIV0)GjQ4X*zq!0`nr4aS#Y}WxN^H$+nRLBCj%AKdAc};Xq<1oe4DR9frBk!t%+6A
zwcqyHo4ZAhH@?nq{@7gX^D}Xd)0(4_=FA6#c(ynN&h9H)(B*pEQ?z^0@-FweLIR;e
zN?tB&Cj~AR37OhvP^+=9sc!L>-F3<97D!~zoNt(PGJ}0ivrs|$lh3(5Mf
+
+
+
+ android:text="0"
+ android:textSize="10sp"
+ />
-
-
-
diff --git a/app/src/main/res/layout/item_app.xml b/app/src/main/res/layout/item_app.xml
index 4edd9ef..b783c70 100644
--- a/app/src/main/res/layout/item_app.xml
+++ b/app/src/main/res/layout/item_app.xml
@@ -27,7 +27,7 @@
@@ -52,6 +52,15 @@
android:textSize="12sp" />
+
-
+
-
+ />
-
-
-
-
+ android:stateListAnimator="@null"
+ android:text="删除"
+ android:visibility="visible" />
#c1bcbc
#d9d9d9
#d4d0d0
-
+ #55b68a