diff --git a/app/app.iml b/app/app.iml
new file mode 100644
index 0000000..76680f4
--- /dev/null
+++ b/app/app.iml
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generateDebugSources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1dc7ce3..ecfe2d9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,6 @@
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android-extensions'
+apply plugin: 'kotlin-android'
def appName() {
return "UIUIAPPStore"
@@ -15,8 +17,8 @@ android {
applicationId "com.appstore.uiui"
minSdkVersion 23
targetSdkVersion 29
- versionCode 1
- versionName "1.0.0"
+ versionCode 10
+ versionName "1.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//极光
ndk {
@@ -143,4 +145,12 @@ dependencies {
implementation 'cn.jiguang.sdk:jpush:3.4.1' // 此处以JPush 3.4.1 版本为例。
implementation 'cn.jiguang.sdk:jcore:2.2.4' // 此处以JCore 2.2.4 版本为例。
+ implementation 'com.zhpan.library:bannerview:2.6.4'
+ compile "androidx.core:core-ktx:+"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+
+
+}
+repositories {
+ mavenCentral()
}
diff --git a/app/src/main/java/com/appstore/uiui/activity/DetailsActivity.java b/app/src/main/java/com/appstore/uiui/activity/DetailsActivity.java
index 8445f9d..84e2f5c 100644
--- a/app/src/main/java/com/appstore/uiui/activity/DetailsActivity.java
+++ b/app/src/main/java/com/appstore/uiui/activity/DetailsActivity.java
@@ -1,6 +1,7 @@
package com.appstore.uiui.activity;
import android.view.View;
+import android.widget.Button;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
@@ -26,7 +27,8 @@ import java.util.ArrayList;
import java.util.List;
public class DetailsActivity extends BaseActivity {
- private TextView tv_title, tv_name, tv_company, tv_update_time, tv_version, tv_content, tv_download;
+ private TextView tv_title, tv_name, tv_company, tv_update_time, tv_version, tv_content, detali_tv_size, detail_tv_Developers;
+ private Button tv_download;
private RatingBar rating_bar;
private ImageView iv_icon;
private RecyclerView rv_image;
@@ -40,7 +42,7 @@ public class DetailsActivity extends BaseActivity {
@Override
protected void initView() {
- tv_title = findViewById(R.id.detail_tv_title);
+// tv_title = findViewById(R.id.detail_tv_title);
tv_name = findViewById(R.id.detail_tv_name);
tv_company = findViewById(R.id.detail_tv_company);
tv_update_time = findViewById(R.id.detail_tv_update_time);
@@ -50,6 +52,9 @@ public class DetailsActivity extends BaseActivity {
rating_bar = findViewById(R.id.detail_rating_bar);
iv_icon = findViewById(R.id.detail_iv_icon);
rv_image = findViewById(R.id.detail_rv_image);
+ detali_tv_size = findViewById(R.id.detali_tv_size);
+ detail_tv_Developers = findViewById(R.id.detail_tv_Developers);
+
}
@Override
@@ -59,11 +64,13 @@ public class DetailsActivity extends BaseActivity {
ToastUtil.show("获取引用信息失败,返回重试");
return;
}
- tv_title.setText(appInfo.getApp_name());
+// tv_title.setText(appInfo.getApp_name());
tv_name.setText(appInfo.getApp_name());
tv_company.setText(appInfo.getApp_developer());
- tv_update_time.setText("更新时间:" + appInfo.getCreatetime());
- tv_version.setText("最新版本:" + appInfo.getApp_version_name());
+ detali_tv_size.setText("大小\t" + appInfo.getApp_size() + "MB");
+ detail_tv_Developers.setText("供应商\t" + appInfo.getApp_developer());
+ tv_update_time.setText("时间\t" + appInfo.getCreatetime());
+ tv_version.setText("版本\t" + appInfo.getApp_version_name());
tv_content.setText(appInfo.getApp_desc());
rating_bar.setRating((float) appInfo.getApp_score());
Glide.with(this).asBitmap().load(appInfo.getApp_img()).into(iv_icon);
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 0702afb..60b5a6d 100644
--- a/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java
+++ b/app/src/main/java/com/appstore/uiui/activity/DownloadManagerActivity.java
@@ -4,6 +4,7 @@ import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Adapter;
+import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -27,7 +28,7 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
private RecyclerView recyclerView;
private DownloadManagerAdapter adapter;
private OkDownload okDownload;
-
+ private ImageView iv_notask;
@Override
protected int setLayoutResourceID() {
return R.layout.activity_download_manager;
@@ -36,6 +37,8 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
@Override
protected void initView() {
recyclerView = findViewById(R.id.recyclerView);
+ iv_notask=findViewById(R.id.iv_notask);
+
}
@Override
@@ -45,6 +48,13 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
adapter.updateData(DownloadManagerAdapter.TYPE_ING);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
+ if (adapter.getItemCount() == 0) {
+ iv_notask.setVisibility(View.VISIBLE);
+ recyclerView.setVisibility(View.GONE);
+ } else {
+ iv_notask.setVisibility(View.GONE);
+ recyclerView.setVisibility(View.VISIBLE);
+ }
okDownload.addOnAllTaskEndListener(this);
}
@@ -85,6 +95,13 @@ public class DownloadManagerActivity extends BaseActivity implements XExecutor.O
if (msg.what == 100) {
adapter.updateData(DownloadManagerAdapter.TYPE_ING);
adapter.notifyDataSetChanged();
+ if (adapter.getItemCount() == 0) {
+ iv_notask.setVisibility(View.VISIBLE);
+ recyclerView.setVisibility(View.GONE);
+ } else {
+ iv_notask.setVisibility(View.GONE);
+ recyclerView.setVisibility(View.VISIBLE);
+ }
}
}
};
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 7daa4c7..bb1bed7 100644
--- a/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java
+++ b/app/src/main/java/com/appstore/uiui/activity/LocalManagerActivity.java
@@ -12,6 +12,7 @@ import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
+import android.widget.ImageView;
import com.appstore.uiui.R;
import com.appstore.uiui.adapter.LocalAppAdapter;
@@ -22,14 +23,16 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class LocalManagerActivity extends BaseActivity implements RefreshManager.RefreshInterface {
private RecyclerView mRvApp;
private SmartRefreshLayout mRefreshLayout;
- private List localAppList;
+ private List localAppList = new ArrayList<>();
private LocalAppAdapter adapter;
+ private ImageView iv_nodata;
@Override
protected int setLayoutResourceID() {
@@ -39,9 +42,9 @@ public class LocalManagerActivity extends BaseActivity implements RefreshManager
@Override
protected void initView() {
mRvApp = findViewById(R.id.local_app_rv_app);
+ iv_nodata = findViewById(R.id.iv_nodata);
mRefreshLayout = findViewById(R.id.local_app_refresh_layout);
RefreshManager.getInstance().register(this);
- localAppList = new ArrayList<>();
mRefreshLayout.setEnableLoadMore(false);
mRefreshLayout.setEnableRefresh(true);
@@ -82,7 +85,7 @@ 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")){
+ if (packageName.equals(getApplicationContext().getPackageName()) || packageName.equals("com.android.uiuios")) {
continue;
}
bean.setPackageName(packageName);
@@ -94,7 +97,9 @@ public class LocalManagerActivity extends BaseActivity implements RefreshManager
String versionCode = getApplicationContext().getPackageManager()
.getPackageInfo(packageName, 0).versionName;
bean.setVersion(versionCode);
-
+ String appInstallDir = packageInfo.applicationInfo.publicSourceDir;
+ int size = Integer.valueOf((int) new File(appInstallDir).length());
+ bean.setSize(size);
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
//第三方应用
localAppList.add(bean);
@@ -110,7 +115,13 @@ public class LocalManagerActivity extends BaseActivity implements RefreshManager
}
adapter.notifyDataSetChanged();
mRefreshLayout.finishRefresh();
-
+ if (localAppList.size() == 0) {
+ mRvApp.setVisibility(View.GONE);
+ iv_nodata.setVisibility(View.VISIBLE);
+ } else {
+ mRvApp.setVisibility(View.VISIBLE);
+ iv_nodata.setVisibility(View.GONE);
+ }
}
@Override
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 bf5c0f0..0101cb3 100644
--- a/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java
+++ b/app/src/main/java/com/appstore/uiui/adapter/AppAdapter.java
@@ -102,16 +102,16 @@ 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.setTextColor(mContext.getColor(R.color.install));
holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_none));
} else {
holder.btnDownLoad.setText("打开");
- holder.btnDownLoad.setTextColor(mContext.getColor(R.color.black));
+ holder.btnDownLoad.setTextColor(mContext.getColor(R.color.white));
holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_open));
}
} else {
- holder.btnDownLoad.setText("下载");
- holder.btnDownLoad.setTextColor(mContext.getColor(R.color.green));
+ holder.btnDownLoad.setText("安装");
+ holder.btnDownLoad.setTextColor(mContext.getColor(R.color.install));
holder.btnDownLoad.setBackground(mContext.getDrawable(R.drawable.btn_style_none));
if (downloadTask != null) {
holder.refresh(downloadTask.progress);
@@ -180,7 +180,7 @@ public class AppAdapter extends RecyclerView.Adapter {
void refresh(Progress progress) {
switch (progress.status) {
case Progress.NONE:
- btnDownLoad.setText("下载");
+ btnDownLoad.setText("安装");
break;
case Progress.PAUSE:
btnDownLoad.setText("继续");
diff --git a/app/src/main/java/com/appstore/uiui/adapter/BannerViewHolder.java b/app/src/main/java/com/appstore/uiui/adapter/BannerViewHolder.java
new file mode 100644
index 0000000..38e89c2
--- /dev/null
+++ b/app/src/main/java/com/appstore/uiui/adapter/BannerViewHolder.java
@@ -0,0 +1,22 @@
+package com.appstore.uiui.adapter;
+
+import android.view.View;
+
+import com.appstore.uiui.R;
+import com.appstore.uiui.view.CornerImageView;
+import com.bumptech.glide.Glide;
+import com.zhpan.bannerview.holder.ViewHolder;
+
+public class BannerViewHolder implements ViewHolder {
+ @Override
+ public int getLayoutId() {
+ return R.layout.item_net;
+ }
+
+ @Override
+ public void onBind(View itemView, String path, int position, int size) {
+ CornerImageView imageView = itemView.findViewById(R.id.banner_image);
+ imageView.setRoundCorner(imageView.getContext().getResources().getDimensionPixelOffset(R.dimen.dp_5));
+ Glide.with(imageView).load(path).into(imageView);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/appstore/uiui/adapter/LocalAppAdapter.java b/app/src/main/java/com/appstore/uiui/adapter/LocalAppAdapter.java
index cf6c380..fc8eece 100644
--- a/app/src/main/java/com/appstore/uiui/adapter/LocalAppAdapter.java
+++ b/app/src/main/java/com/appstore/uiui/adapter/LocalAppAdapter.java
@@ -4,6 +4,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
+import android.text.format.Formatter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -59,7 +60,8 @@ public class LocalAppAdapter extends RecyclerView.Adapter= Build.VERSION_CODES.LOLLIPOP) {
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+// activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ //需要设置这个flag contentView才能延伸到状态栏
+// activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
+ //状态栏覆盖在contentView上面,设置透明使contentView的背景透出来
+ activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
+ } else {
+ //让contentView延伸到状态栏并且设置状态栏颜色透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ }
+ }
+
+ /**
+ * 设置根布局参数
+ */
+ private static void setRootView(Activity activity) {
+ ViewGroup parent = (ViewGroup) activity.findViewById(android.R.id.content);
+ for (int i = 0, count = parent.getChildCount(); i < count; i++) {
+ View childView = parent.getChildAt(i);
+ if (childView instanceof ViewGroup) {
+ childView.setFitsSystemWindows(true);
+ ((ViewGroup) childView).setClipToPadding(true);
+ }
+ }
+ }
+
public static void initViewFull(final Activity activity) {
activity.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
@@ -64,7 +123,7 @@ public abstract class BaseActivity extends AppCompatActivity {
}.start();
}
});
- //设置无标题
+ //设置无标题
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
activity.getWindow().getDecorView().setSystemUiVisibility(
diff --git a/app/src/main/java/com/appstore/uiui/bean/LocalApp.java b/app/src/main/java/com/appstore/uiui/bean/LocalApp.java
index 666f668..ac908ee 100644
--- a/app/src/main/java/com/appstore/uiui/bean/LocalApp.java
+++ b/app/src/main/java/com/appstore/uiui/bean/LocalApp.java
@@ -11,7 +11,7 @@ public class LocalApp {
String appName;//名字
Drawable icon;//图片
String company;//公司
- String size;//软件的大小
+ int size;//软件的大小
String version;//软件的版本号
String packageName;//软件的包名
int versionCode;
@@ -53,11 +53,11 @@ public class LocalApp {
this.company = company;
}
- public String getSize() {
+ public int getSize() {
return size;
}
- public void setSize(String size) {
+ public void setSize(int size) {
this.size = size;
}
diff --git a/app/src/main/java/com/appstore/uiui/bean/bannerImage.java b/app/src/main/java/com/appstore/uiui/bean/bannerImage.java
new file mode 100644
index 0000000..0844e5a
--- /dev/null
+++ b/app/src/main/java/com/appstore/uiui/bean/bannerImage.java
@@ -0,0 +1,44 @@
+package com.appstore.uiui.bean;
+
+import java.io.Serializable;
+
+public class bannerImage implements Serializable {
+ String title;
+ String id;
+ String desc;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ String img;
+
+}
diff --git a/app/src/main/java/com/appstore/uiui/fragment/FeaturedFragment.java b/app/src/main/java/com/appstore/uiui/fragment/FeaturedFragment.java
index 0b73630..0b8fcab 100644
--- a/app/src/main/java/com/appstore/uiui/fragment/FeaturedFragment.java
+++ b/app/src/main/java/com/appstore/uiui/fragment/FeaturedFragment.java
@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.appstore.uiui.R;
import com.appstore.uiui.adapter.AppAdapter;
+import com.appstore.uiui.adapter.BannerViewHolder;
import com.appstore.uiui.base.LazyLoadFragment;
import com.appstore.uiui.base.RefreshManager;
import com.appstore.uiui.bean.AppInfo;
@@ -26,12 +27,18 @@ import com.appstore.uiui.network.URLs.Url;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.ToastUtil;
+import com.blankj.utilcode.util.ToastUtils;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.zhpan.bannerview.BannerViewPager;
+import com.zhpan.bannerview.constants.IndicatorSlideMode;
+import com.zhpan.bannerview.constants.PageStyle;
+import com.zhpan.bannerview.holder.HolderCreator;
+import com.zhpan.bannerview.utils.BannerUtils;
import java.util.ArrayList;
import java.util.List;
@@ -45,9 +52,10 @@ import java.util.List;
public class FeaturedFragment extends LazyLoadFragment implements RefreshManager.RefreshInterface {
private RecyclerView mRvResult;
private SmartRefreshLayout mRefreshLayout;
+ private BannerViewPager mViewPager;
private List appInfoList;//
- private List newAppInfoList=new ArrayList<>();
+ private List newAppInfoList = new ArrayList<>();
private AppAdapter adapter;
private boolean isNotLoadBitmap;
@@ -92,7 +100,23 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
mRvResult = view.findViewById(R.id.featured_rv_result);
mRefreshLayout = view.findViewById(R.id.featured_refresh_layout);
RefreshManager.getInstance().register(this);
-
+ mViewPager = view.findViewById(R.id.banner_view);
+ mViewPager
+ .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
+ .setHolderCreator(new HolderCreator() {
+ @Override
+ public BannerViewHolder createViewHolder() {
+ return new BannerViewHolder();
+ }
+ })
+ .setIndicatorColor(getResources().getColor(R.color.colorAccent), getResources().getColor(R.color.colorAccent))
+ .setOnPageClickListener(new BannerViewPager.OnPageClickListener() {
+ @Override
+ public void onPageClick(int position) {
+ ToastUtils.showShort("position:" + position);
+ }
+ })
+ .setInterval(5000);
isNotLoadBitmap = false;
@@ -121,6 +145,7 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
synchronized private void initAPPData(final Handler handler) {
OKGOPost.getAllAppInfo(handler);
+ OKGOPost.getBannerImg(handler);
}
@@ -144,7 +169,28 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
adapter.setData(checkUpdateOrInstalled(newAppInfoList));
adapter.notifyDataSetChanged();
break;
-
+ case 200:
+ List list = (List) msg.obj;
+ mViewPager
+ .setPageMargin(getResources().getDimensionPixelOffset(R.dimen.dp_5))
+ .setRevealWidth(BannerUtils.dp2px(0))
+ .setPageStyle(PageStyle.MULTI_PAGE)
+ .setHolderCreator(new HolderCreator() {
+ @Override
+ public BannerViewHolder createViewHolder() {
+ return new BannerViewHolder();
+ }
+ })
+ .setIndicatorColor(getResources().getColor(R.color.colorAccent), getResources().getColor(R.color.colorAccent))
+ .setOnPageClickListener(new BannerViewPager.OnPageClickListener() {
+ @Override
+ public void onPageClick(int position) {
+ ToastUtils.showShort("position:" + position);
+ }
+ })
+ .setInterval(5000)
+ .create(list);
+ break;
}
mRefreshLayout.finishRefresh();
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 c6473dd..01c93ea 100644
--- a/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java
+++ b/app/src/main/java/com/appstore/uiui/fragment/ManageFragment.java
@@ -10,6 +10,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -17,7 +18,9 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.appstore.uiui.R;
+import com.appstore.uiui.activity.DownloadManagerActivity;
import com.appstore.uiui.activity.LocalManagerActivity;
+import com.appstore.uiui.activity.MainActivity;
import com.appstore.uiui.adapter.LocalAppAdapter;
import com.appstore.uiui.adapter.UpdateAppAdapter;
import com.appstore.uiui.base.LazyLoadFragment;
@@ -40,13 +43,14 @@ import java.util.List;
public class ManageFragment extends LazyLoadFragment {
private RecyclerView mRvLocal;
+ private ImageView iv_nodata;
private TextView manage_tv_updateNum;
private List localAppList;
private List updateAppInfoList;
private List applist;
private List packageNameList = new ArrayList<>();
private UpdateAppAdapter adapter;
- private LinearLayout manage_ll_localapp;
+ private LinearLayout manage_ll_localapp, manage_ll_downlaod;
@Override
public int getLayoutId() {
@@ -63,6 +67,15 @@ public class ManageFragment extends LazyLoadFragment {
startActivity(new Intent(getActivity(), LocalManagerActivity.class));
}
});
+ manage_ll_downlaod = view.findViewById(R.id.manage_ll_downlaod);
+ manage_ll_downlaod.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(getActivity(), DownloadManagerActivity.class));
+
+ }
+ });
+ iv_nodata = view.findViewById(R.id.iv_nodata);
mRvLocal = view.findViewById(R.id.manage_rv_local);
updateAppInfoList = new ArrayList<>();
adapter = new UpdateAppAdapter(updateAppInfoList, getContext());
@@ -162,6 +175,13 @@ public class ManageFragment extends LazyLoadFragment {
updateDta(applist);
updateNum = updateAppInfoList.size();
manage_tv_updateNum.setText(updateNum + "");
+ if (updateNum == 0) {
+ iv_nodata.setVisibility(View.VISIBLE);
+ mRvLocal.setVisibility(View.GONE);
+ } else {
+ iv_nodata.setVisibility(View.GONE);
+ mRvLocal.setVisibility(View.VISIBLE);
+ }
adapter.notifyDataSetChanged();
break;
}
diff --git a/app/src/main/java/com/appstore/uiui/network/OKGOPost.java b/app/src/main/java/com/appstore/uiui/network/OKGOPost.java
index b76448d..b87887d 100644
--- a/app/src/main/java/com/appstore/uiui/network/OKGOPost.java
+++ b/app/src/main/java/com/appstore/uiui/network/OKGOPost.java
@@ -1,6 +1,7 @@
package com.appstore.uiui.network;
import android.content.Context;
+import android.media.Image;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
@@ -8,10 +9,12 @@ import android.util.Log;
import androidx.annotation.NonNull;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.appstore.uiui.TextCode.MessageWhat;
import com.appstore.uiui.base.UserInfo;
import com.appstore.uiui.bean.AppInfo;
+import com.appstore.uiui.bean.bannerImage;
import com.appstore.uiui.network.URLs.Url;
import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.SPUtils;
@@ -21,6 +24,7 @@ import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
+import java.util.ArrayList;
import java.util.List;
@@ -353,6 +357,43 @@ public class OKGOPost {
});
}
+ public static void getBannerImg(final Handler handler) {
+ OkGo.get(Url.GET_BANNER_IMG).execute(new StringCallback() {
+ @Override
+ public void onSuccess(Response response) {
+ try {
+ JSONObject body = JSON.parseObject(response.body());
+ int code = body.getInteger("code");
+ String msg = body.getString("msg");
+ if (code == 200) {
+ Message message = new Message();
+ List data = JSON.parseArray(body.getString("data"), bannerImage.class);
+ if (data != null) {
+ List urlList = new ArrayList<>();
+ for (int i = 0; i < data.size(); i++) {
+ urlList.add(data.get(0).getImg());
+ }
+ message.what = 200;
+ message.obj = urlList;
+ } else {
+ message.what = -200;
+ }
+ handler.sendMessage(message);
+ } else {
+ Log.e("checkUpdateByPackage", msg);
+ }
+ } catch (Exception e) {
+ Log.e("checkUpdateByPackage", e.getMessage());
+ }
+ }
+
+ @Override
+ public void onError(Response response) {
+ super.onError(response);
+ }
+ });
+
+ }
}
diff --git a/app/src/main/java/com/appstore/uiui/network/URLs/Url.java b/app/src/main/java/com/appstore/uiui/network/URLs/Url.java
index 3657c35..3353667 100644
--- a/app/src/main/java/com/appstore/uiui/network/URLs/Url.java
+++ b/app/src/main/java/com/appstore/uiui/network/URLs/Url.java
@@ -19,4 +19,6 @@ public class Url {
//发送app卸载信息
public final static String GET_APP_UPDATE = NETWORK_HOME_ADDRESS + "/Update/update";
//根据包名获取更新
+ public final static String GET_BANNER_IMG = NETWORK_HOME_ADDRESS + "/Slideshow/getImg";
+
}
diff --git a/app/src/main/java/com/appstore/uiui/view/CornerImageView.kt b/app/src/main/java/com/appstore/uiui/view/CornerImageView.kt
new file mode 100644
index 0000000..9e32d7a
--- /dev/null
+++ b/app/src/main/java/com/appstore/uiui/view/CornerImageView.kt
@@ -0,0 +1,19 @@
+package com.appstore.uiui.view
+
+import android.content.Context
+import android.os.Build
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatImageView
+
+
+import com.zhpan.bannerview.provider.ViewStyleSetter
+
+class CornerImageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : AppCompatImageView(context, attrs, defStyleAttr) {
+
+ fun setRoundCorner(radius: Int) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ val viewStyleSetter = ViewStyleSetter(this)
+ viewStyleSetter.setRoundRect(radius.toFloat())
+ }
+ }
+}
diff --git a/app/src/main/res/drawable/btn_style_delete.xml b/app/src/main/res/drawable/btn_style_delete.xml
new file mode 100644
index 0000000..597712d
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_delete.xml
@@ -0,0 +1,36 @@
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_style_none.xml b/app/src/main/res/drawable/btn_style_none.xml
index cdfdf43..e92115b 100644
--- a/app/src/main/res/drawable/btn_style_none.xml
+++ b/app/src/main/res/drawable/btn_style_none.xml
@@ -3,7 +3,7 @@
-
-
+
@@ -15,14 +15,14 @@
android:right="1dp"
android:top="1dp">
-
+
+
+
+
+
+
+
+
-
-
+
@@ -15,14 +15,14 @@
android:right="1dp"
android:top="1dp">
-
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shap_search_left.xml b/app/src/main/res/drawable/shap_search_left.xml
index 3ce0dc8..63512b3 100644
--- a/app/src/main/res/drawable/shap_search_left.xml
+++ b/app/src/main/res/drawable/shap_search_left.xml
@@ -1,7 +1,7 @@
-
+
+ android:color="#d4d0d0" />
@@ -29,9 +29,9 @@
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:singleLine="true"
- android:text="应用"
+ android:text="应用详情"
android:textColor="#8c8b8b"
- android:textSize="17sp"
+ android:textSize="@dimen/sp_15"
android:textStyle="bold" />
@@ -80,7 +80,8 @@
android:singleLine="true"
android:text="今日头条"
android:textColor="@color/black"
- android:textSize="15sp" />
+ android:textSize="@dimen/sp_11"
+ />
+ android:text="应用介绍"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold">
@@ -124,25 +127,79 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
- android:layout_marginTop="@dimen/dp_15"
+ android:layout_marginTop="@dimen/dp_2"
android:layout_marginRight="@dimen/dp_15">
+ android:layout_marginLeft="@dimen/dp_15"
+ android:layout_marginRight="@dimen/dp_15"
+ android:layout_marginTop="@dimen/dp_2"
+ android:text="更新"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold">
+
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_marginLeft="@dimen/dp_15"
+ android:layout_marginRight="@dimen/dp_15"
+ android:text="版本" />
+
+
+
+
@@ -151,27 +208,26 @@
-
-
-
+
+
diff --git a/app/src/main/res/layout/activity_download_manager.xml b/app/src/main/res/layout/activity_download_manager.xml
index 26bedbb..571451e 100644
--- a/app/src/main/res/layout/activity_download_manager.xml
+++ b/app/src/main/res/layout/activity_download_manager.xml
@@ -36,14 +36,32 @@
-
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_local_manager.xml b/app/src/main/res/layout/activity_local_manager.xml
index 7c6be19..fd9e54f 100644
--- a/app/src/main/res/layout/activity_local_manager.xml
+++ b/app/src/main/res/layout/activity_local_manager.xml
@@ -10,8 +10,8 @@
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="50dp"
- android:orientation="horizontal"
android:layout_marginLeft="20dp"
+ android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
@@ -19,9 +19,9 @@
android:id="@+id/search_iv_back"
android:layout_width="20dp"
android:layout_height="20dp"
- android:onClick="finish"
android:layout_gravity="center_vertical"
android:adjustViewBounds="true"
+ android:onClick="finish"
android:scaleType="centerInside"
android:src="@drawable/ic_back" />
@@ -38,6 +38,7 @@
+
-
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 06f2786..0df8249 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -55,10 +55,10 @@
android:src="@drawable/shap_search_left" />
@@ -68,7 +68,7 @@
android:background="@drawable/shap_search_right"
android:gravity="center_vertical"
android:text="@string/search_edit"
- android:textColor="#c1bfbf">
+ android:textColor="#ffffff">
@@ -82,6 +82,7 @@
android:layout_height="30dp"
android:layout_gravity="center_vertical"
android:layout_marginRight="20dp"
+ android:visibility="gone"
android:src="@drawable/ic_action_bar">
@@ -96,7 +97,7 @@
app:tl_indicator_style="TRIANGLE"
app:tl_tab_space_equal="true"
app:tl_textBold="SELECT"
- app:tl_textSelectColor="#000000"
+ app:tl_textSelectColor="#f09818"
app:tl_textUnselectColor="#8c8b8b" />
-
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_manage.xml b/app/src/main/res/layout/fragment_manage.xml
index ec5c9b6..005fff8 100644
--- a/app/src/main/res/layout/fragment_manage.xml
+++ b/app/src/main/res/layout/fragment_manage.xml
@@ -28,6 +28,29 @@
android:background="@drawable/ic_kind_detail" />
+
+
+
+
+
+
@@ -42,9 +65,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
-
android:text="可升级应用"
- android:textSize="10sp" />
+ android:textColor="@color/black"
+ android:textSize="16sp" />
+ android:textSize="16sp" />
-
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_app.xml b/app/src/main/res/layout/item_app.xml
index b783c70..9f1ee0a 100644
--- a/app/src/main/res/layout/item_app.xml
+++ b/app/src/main/res/layout/item_app.xml
@@ -75,7 +75,7 @@
android:id="@+id/app_btn_download"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_20"
- android:textColor="#55b68a"
+ android:textColor="#000000"
android:stateListAnimator="@null"
android:layout_gravity="center_vertical"
android:layout_marginRight="10dp"
diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml
index 15856a1..a1f7746 100644
--- a/app/src/main/res/layout/item_image.xml
+++ b/app/src/main/res/layout/item_image.xml
@@ -1,8 +1,8 @@
diff --git a/app/src/main/res/layout/item_local_app.xml b/app/src/main/res/layout/item_local_app.xml
index 9d07ece..b9536a3 100644
--- a/app/src/main/res/layout/item_local_app.xml
+++ b/app/src/main/res/layout/item_local_app.xml
@@ -65,10 +65,11 @@
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center_vertical"
- android:background="@drawable/btn_style_open"
android:layout_marginRight="10dp"
+ android:background="@drawable/btn_style_delete"
android:stateListAnimator="@null"
android:text="删除"
+ android:textColor="#ffffff"
android:visibility="visible" />
diff --git a/app/src/main/res/layout/item_net.xml b/app/src/main/res/layout/item_net.xml
new file mode 100644
index 0000000..b1c059b
--- /dev/null
+++ b/app/src/main/res/layout/item_net.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_app.png b/app/src/main/res/mipmap-hdpi/ic_app.png
index bde1dfd..7cc1c63 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_app.png and b/app/src/main/res/mipmap-hdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_app.png b/app/src/main/res/mipmap-mdpi/ic_app.png
index bde1dfd..7cc1c63 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_app.png and b/app/src/main/res/mipmap-mdpi/ic_app.png differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 386095e..52ef015 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -6,7 +6,9 @@
#FFFFFF
#000000
- #c1bcbc
+ #f5f4f4
+ #646464
+
#d9d9d9
#d4d0d0
#55b68a