diff --git a/app/build.gradle b/app/build.gradle index 0ffce50..1cc3bd1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,8 +45,8 @@ android { productFlavors { official { flavorDimensions "default" - versionCode 56 - versionName "6.5" + versionCode 62 + versionName "7.1" } } @@ -218,15 +218,10 @@ dependencies { //google implementation 'com.google.code.gson:gson:2.9.0' implementation 'com.google.zxing:core:3.5.0' - //fastjson - implementation 'com.alibaba:fastjson:1.2.83' //MMKV implementation 'com.tencent:mmkv-static:1.2.13' //腾讯移动推送 TPNS implementation 'com.tencent.tpns:tpns:1.3.2.0-release' -// //极光推送 -// implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.4.1 版本为例。 -// implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.2.4 版本为例。 //banner图 implementation 'com.zhpan.library:bannerview:2.6.4' //更换字体框架 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 33c7457..ed26802 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -55,7 +55,7 @@ android:theme="@style/ImmerseTheme"> + android:configChanges="keyboardHidden|screenSize"> diff --git a/app/src/main/java/com/uiui/appstore/activity/DetailsActivity.java b/app/src/main/java/com/uiui/appstore/activity/DetailsActivity.java index fd21b0e..384d51d 100644 --- a/app/src/main/java/com/uiui/appstore/activity/DetailsActivity.java +++ b/app/src/main/java/com/uiui/appstore/activity/DetailsActivity.java @@ -16,8 +16,15 @@ import android.widget.TextView; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.arialyy.annotations.Download; +import com.arialyy.aria.core.Aria; +import com.arialyy.aria.core.download.DownloadEntity; +import com.arialyy.aria.core.inf.IEntity; +import com.arialyy.aria.core.task.DownloadTask; +import com.bumptech.glide.Glide; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.uiui.appstore.R; import com.uiui.appstore.adapter.ImageAdapter; import com.uiui.appstore.base.BaseActivity; @@ -30,34 +37,54 @@ import com.uiui.appstore.utils.ApkUtils; import com.uiui.appstore.utils.FileUtils; import com.uiui.appstore.utils.StorageUtils; import com.uiui.appstore.utils.ToastUtil; -import com.arialyy.annotations.Download; -import com.arialyy.aria.core.Aria; -import com.arialyy.aria.core.download.DownloadEntity; -import com.arialyy.aria.core.inf.IEntity; -import com.arialyy.aria.core.task.DownloadTask; -import com.bumptech.glide.Glide; import java.io.File; import java.util.ArrayList; import java.util.List; +import butterknife.BindView; +import butterknife.ButterKnife; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.schedulers.Schedulers; public class DetailsActivity extends BaseActivity { - private String TAG = DetailsActivity.class.getSimpleName(); + private static final String TAG = DetailsActivity.class.getSimpleName(); + + + @BindView(R.id.detail_tv_title) + TextView tv_title; + @BindView(R.id.detail_tv_name) + TextView tv_name; + @BindView(R.id.detail_tv_company) + TextView tv_company; + @BindView(R.id.detail_tv_update_time) + TextView tv_update_time; + @BindView(R.id.detail_tv_version) + TextView tv_version; + @BindView(R.id.detali_tv_content) + TextView tv_content; + @BindView(R.id.detali_tv_size) + TextView detali_tv_size; + @BindView(R.id.detail_tv_Developers) + TextView detail_tv_Developers; + @BindView(R.id.detali_tv_version) + TextView detali_tv_version; + @BindView(R.id.detail_tv_download) + Button tv_download; + @BindView(R.id.detail_rating_bar) + RatingBar rating_bar; + @BindView(R.id.detail_iv_icon) + ImageView iv_icon; + @BindView(R.id.detail_rv_image) + RecyclerView rv_image; + @BindView(R.id.scrollView) + HorizontalScrollView scrollView; - 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; - private AppInfo appInfo; private ImageAdapter imageAdapter; private installReceiver myReceiver; - private HorizontalScrollView scrollView; + private AppInfo appInfo; @Override protected int setLayoutResourceID() { @@ -66,19 +93,12 @@ public class DetailsActivity extends BaseActivity { @Override protected void initView() { -// 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); - tv_version = findViewById(R.id.detail_tv_version); - tv_content = findViewById(R.id.detali_tv_content); - tv_download = findViewById(R.id.detail_tv_download); - 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); - scrollView = findViewById(R.id.scrollView); + ButterKnife.bind(this); + rv_image.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)); + CustomSnapHelper snapHelper = new CustomSnapHelper(); + snapHelper.attachToRecyclerView(rv_image); + imageAdapter = new ImageAdapter(); + rv_image.setAdapter(imageAdapter); } @Override @@ -104,12 +124,10 @@ public class DetailsActivity extends BaseActivity { tv_update_time.setText("时间\t" + appInfo.getCreatetime()); tv_version.setText("版本\t" + appInfo.getApp_version_name()); tv_content.setText(appInfo.getApp_desc()); + detali_tv_version.setText("版本:" + appInfo.getApp_version_name()); rating_bar.setRating((float) appInfo.getApp_score()); - Glide.with(this).asBitmap().load(appInfo.getApp_img()).transform(new GlideCircleWithBorder(this)) - .into(iv_icon); - rv_image.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)); - CustomSnapHelper snapHelper = new CustomSnapHelper(); - snapHelper.attachToRecyclerView(rv_image); + Glide.with(this).asBitmap().load(appInfo.getApp_img()).transform(new GlideCircleWithBorder(this)).into(iv_icon); + setImage(appInfo); final boolean installed = ApkUtils.isInstalled(DetailsActivity.this, appInfo.getApp_package()); final boolean update = ApkUtils.isUpdate(DetailsActivity.this, appInfo.getApp_package(), appInfo.getApp_version_code()); @@ -128,14 +146,6 @@ public class DetailsActivity extends BaseActivity { if (installed && !update) { ApkUtils.openApp(DetailsActivity.this, appInfo.getApp_package()); } else { -// GetRequest request = OkGo.get(appInfo.getApp_url()); -// //这里第一个参数是tag,代表下载任务的唯一标识,传任意字符串都行,需要保证唯一,我这里用url作为了tag -// OkDownload.request(appInfo.getApp_url(), request)// -//// .priority(apk.priority)// -// .extra1(appInfo)// -// .save()// -// .register(new FileDownloadListener(appInfo.getApp_url()))// -// .start(); DownloadEntity entity = Aria.download(this).getFirstDownloadEntity(appInfo.getApp_url()); if (null != entity) { switch (entity.getState()) { @@ -160,11 +170,15 @@ public class DetailsActivity extends BaseActivity { ApkUtils.installApp(DetailsActivity.this, entity.getFilePath()); } else { Aria.download(this).load(entity.getId()).cancel(true); - JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo); + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(appInfo)).getAsJsonObject(); FileUtils.ariaDownload(DetailsActivity.this, appInfo.getApp_url(), jsonObject); } break; + default: } + } else { + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(appInfo)).getAsJsonObject(); + FileUtils.ariaDownload(DetailsActivity.this, appInfo.getApp_url(), jsonObject); } } } @@ -177,13 +191,9 @@ public class DetailsActivity extends BaseActivity { this.add(info.getApp_preview2()); this.add(info.getApp_preview3()); }}; - imageAdapter = new ImageAdapter(); imageAdapter.setData(list); - rv_image.setAdapter(imageAdapter); - } - void getPackageApp(String packageName, long versionCode) { NetInterfaceManager.getInstance() .getQueryPackageAppControl() @@ -193,32 +203,24 @@ public class DetailsActivity extends BaseActivity { .subscribe(new Observer>() { @Override public void onSubscribe(Disposable d) { - Log.e(TAG, "onSubscribe: "); + Log.e("getPackageApp", "onSubscribe: "); } @Override public void onNext(BaseResponse appInfoBaseResponse) { + Log.e("getPackageApp", "onNext: " + appInfoBaseResponse); if (appInfoBaseResponse.code == 200) { AppInfo info = appInfoBaseResponse.data; - boolean haveImage = false; if (!TextUtils.isEmpty(info.getApp_preview1())) { appInfo.setApp_preview1(info.getApp_preview1()); - haveImage = true; } if (!TextUtils.isEmpty(info.getApp_preview2())) { appInfo.setApp_preview2(info.getApp_preview2()); - haveImage = true; } if (!TextUtils.isEmpty(info.getApp_preview3())) { appInfo.setApp_preview3(info.getApp_preview3()); - haveImage = true; } appInfo.setApp_version_name(info.getApp_version_name()); - if (haveImage) { - scrollView.setVisibility(View.VISIBLE); - } else { - scrollView.setVisibility(View.GONE); - } setImage(appInfo); } else { scrollView.setVisibility(View.GONE); @@ -227,12 +229,12 @@ public class DetailsActivity extends BaseActivity { @Override public void onError(Throwable e) { - Log.e(TAG, "onError: " + e.getMessage()); + Log.e("getPackageApp", "onError: " + e.getMessage()); } @Override public void onComplete() { - Log.e(TAG, "onComplete: "); + Log.e("getPackageApp", "onComplete: "); } }); } @@ -258,6 +260,7 @@ public class DetailsActivity extends BaseActivity { case IEntity.STATE_RUNNING: tv_download.setText(task.getPercent() + "%"); break; + default: } } } @@ -350,13 +353,12 @@ public class DetailsActivity extends BaseActivity { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); //接收安装广播 - if (action.equals("com.uiui.appstore.PACKAGE_ADDED") || action.equals("com.uiui.appstore.PACKAGE_REPLACED")) { + if ("com.uiui.appstore.PACKAGE_ADDED".equals(action) || "com.uiui.appstore.PACKAGE_REPLACED".equals(action)) { String packageName = intent.getStringExtra("package"); if (packageName.equalsIgnoreCase(appInfo.getApp_package())) { tv_download.setText("打开"); } } - } } diff --git a/app/src/main/java/com/uiui/appstore/adapter/AppAdapter.java b/app/src/main/java/com/uiui/appstore/adapter/AppAdapter.java index c9f8e2d..6667fab 100644 --- a/app/src/main/java/com/uiui/appstore/adapter/AppAdapter.java +++ b/app/src/main/java/com/uiui/appstore/adapter/AppAdapter.java @@ -2,6 +2,7 @@ package com.uiui.appstore.adapter; import android.content.Context; import android.content.Intent; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -12,17 +13,19 @@ import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.arialyy.annotations.Download; import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.download.DownloadEntity; import com.arialyy.aria.core.inf.IEntity; import com.arialyy.aria.core.task.DownloadTask; import com.bumptech.glide.Glide; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.uiui.appstore.R; import com.uiui.appstore.activity.DetailsActivity; import com.uiui.appstore.bean.AppInfo; +import com.uiui.appstore.bean.GlideCircleWithBorder; import com.uiui.appstore.utils.ApkUtils; import com.uiui.appstore.utils.FileUtils; import com.uiui.appstore.utils.StorageUtils; @@ -60,7 +63,7 @@ public class AppAdapter extends RecyclerView.Adapter { .load(appInfo.getApp_img()) .error(R.mipmap.ic_launcher) // .placeholder(R.drawable.ic_place_holder) -// .transform(new GlideCircleWithBorder(mContext)) + .transform(new GlideCircleWithBorder(mContext)) .into(holder.ivIcon); holder.tvCompany.setText(appInfo.getApp_developer()); holder.tvName.setText(appInfo.getApp_name()); @@ -133,7 +136,7 @@ public class AppAdapter extends RecyclerView.Adapter { ApkUtils.installApp(mContext, entity.getFilePath()); } else { Aria.download(this).load(entity.getId()).cancel(true); - JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo); + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(appInfo)).getAsJsonObject(); FileUtils.ariaDownload(mContext, appInfo.getApp_url(), jsonObject); } @@ -141,13 +144,8 @@ public class AppAdapter extends RecyclerView.Adapter { default: } } else { -// downloadApk(appInfo); - JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo); + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(appInfo)).getAsJsonObject(); FileUtils.ariaDownload(mContext, appInfo.getApp_url(), jsonObject); -// Aria.download(this) -// .load(appInfo.getApp_url()) -// .setFilePath(FilePath.FileDownloadPath + File.separator + FileUtils.getFileNamefromURL(appInfo.getApp_url()), true) -// .create(); } } } diff --git a/app/src/main/java/com/uiui/appstore/adapter/DownloadManagerAdapter.java b/app/src/main/java/com/uiui/appstore/adapter/DownloadManagerAdapter.java index e2a0d71..00d6d97 100644 --- a/app/src/main/java/com/uiui/appstore/adapter/DownloadManagerAdapter.java +++ b/app/src/main/java/com/uiui/appstore/adapter/DownloadManagerAdapter.java @@ -12,7 +12,9 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.alibaba.fastjson.JSONObject; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.uiui.appstore.R; import com.uiui.appstore.utils.FileUtils; import com.uiui.appstore.view.NumberProgressBar; @@ -86,14 +88,15 @@ public class DownloadManagerAdapter extends RecyclerView.Adapter { - private List mSrcList; private Context mContext; @@ -29,16 +30,17 @@ public class ImageAdapter extends RecyclerView.Adapter { if (platform == JGYUtils.MTKPlatform) { set.add(JGYUtils.MTKTag); - } else if (platform == JGYUtils.ZhanruiPlatform) { + } else if (platform == JGYUtils.CubePlatform) { set.add(JGYUtils.ZhanruiTag); + } else if (platform == JGYUtils.ZhanruiPlatform) { + set.add(JGYUtils.NewZhanruiTag); + } else if (platform == JGYUtils.UMTK11Platform) { + set.add(JGYUtils.UMTK11Tag); } }); getBatchApiControl() diff --git a/app/src/main/java/com/uiui/appstore/service/GuardService.java b/app/src/main/java/com/uiui/appstore/service/GuardService.java index 5afad93..c156557 100644 --- a/app/src/main/java/com/uiui/appstore/service/GuardService.java +++ b/app/src/main/java/com/uiui/appstore/service/GuardService.java @@ -18,11 +18,11 @@ import android.util.Log; import androidx.annotation.Nullable; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.arialyy.annotations.Download; import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.task.DownloadTask; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.uiui.appstore.KeepAliveConnection; import com.uiui.appstore.bean.BaseResponse; import com.uiui.appstore.network.NetInterfaceManager; @@ -127,8 +127,8 @@ public class GuardService extends Service { //在这里处理任务完成的状态 final String downloadPath = task.getFilePath(); if (null != task.getExtendField()) { - JSONObject jsonObject = JSON.parseObject(task.getExtendField()); - String packageName = jsonObject.getString("app_package"); + JsonObject jsonObject = JsonParser.parseString(task.getExtendField()).getAsJsonObject(); + String packageName = jsonObject.get("app_package").getAsString(); File file = new File(downloadPath); int admin_id = (int) SPUtils.get(GuardService.this, "admin_id", -1); NetInterfaceManager.getInstance() diff --git a/app/src/main/java/com/uiui/appstore/service/main/MainService.java b/app/src/main/java/com/uiui/appstore/service/main/MainService.java index 8fef205..23f34cf 100644 --- a/app/src/main/java/com/uiui/appstore/service/main/MainService.java +++ b/app/src/main/java/com/uiui/appstore/service/main/MainService.java @@ -30,9 +30,9 @@ import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.subjects.BehaviorSubject; public class MainService extends Service implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider { - private String TAG = MainService.class.getSimpleName(); + private static final String TAG = MainService.class.getSimpleName(); - private final String DOWNLOAD_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "jgy"; + private final String DOWNLOAD_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "uiui"; public MainSPresenter mPresenter; diff --git a/app/src/main/java/com/uiui/appstore/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/appstore/tpush/MessageReceiver.java index 56d1f2a..b9b7492 100644 --- a/app/src/main/java/com/uiui/appstore/tpush/MessageReceiver.java +++ b/app/src/main/java/com/uiui/appstore/tpush/MessageReceiver.java @@ -9,8 +9,6 @@ import android.text.TextUtils; import android.util.Log; import android.widget.Toast; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.download.DownloadEntity; import com.google.gson.JsonObject; @@ -21,7 +19,6 @@ import com.tencent.android.tpush.XGPushClickedResult; import com.tencent.android.tpush.XGPushRegisterResult; import com.tencent.android.tpush.XGPushShowedResult; import com.tencent.android.tpush.XGPushTextMessage; -import com.uiui.appstore.gson.GsonUtils; import com.uiui.appstore.tpush.common.NotificationService; import com.uiui.appstore.tpush.po.XGNotification; import com.uiui.appstore.utils.FileUtils; @@ -327,10 +324,10 @@ public class MessageReceiver extends XGPushBaseReceiver { if (TextUtils.isEmpty(jsonString)) { return; } - JSONObject jsonObject = (JSONObject) JSON.parse(jsonString); - final String packages = jsonObject.getString("package"); + JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject(); + final String packages = jsonObject.get("package").getAsString(); ToastUtil.debugShow("收到应用安装消息:包名" + packages); - String url = jsonObject.getString("url"); + String url = jsonObject.get("url").getAsString(); if (TextUtils.isEmpty(url)) { return; } diff --git a/app/src/main/java/com/uiui/appstore/utils/ApkUtils.java b/app/src/main/java/com/uiui/appstore/utils/ApkUtils.java index 26e3139..960670a 100644 --- a/app/src/main/java/com/uiui/appstore/utils/ApkUtils.java +++ b/app/src/main/java/com/uiui/appstore/utils/ApkUtils.java @@ -655,12 +655,12 @@ public class ApkUtils { Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); List resolveInfoList = context.getPackageManager().queryIntentActivities(intent, 0); - String aole_force_app = Settings.System.getString(context.getContentResolver(), "aole_force_app"); - if (TextUtils.isEmpty(aole_force_app)) { - return appList; - } - Set forceAppSet = new HashSet<>(Arrays.asList(aole_force_app.split(","))); - forceAppSet.addAll(fuxiaoyingApp); +// String aole_force_app = Settings.System.getString(context.getContentResolver(), "aole_force_app"); +// if (TextUtils.isEmpty(aole_force_app)) { +// return appList; +// } +// Set forceAppSet = new HashSet<>(Arrays.asList(aole_force_app.split(","))); +// forceAppSet.addAll(fuxiaoyingApp); for (int i = 0; i < resolveInfoList.size(); i++) { LocalApp bean = new LocalApp(); @@ -675,18 +675,18 @@ public class ApkUtils { bean.setPackageName(packageName); Drawable icon = resolveInfoList.get(i).loadIcon(context.getPackageManager()); bean.setIcon(icon); - if (forceAppSet.contains(packageName)) { - bean.setCanUnintall(false); - } else { - bean.setCanUnintall(true); - } +// if (forceAppSet.contains(packageName)) { +// bean.setCanUnintall(false); +// } else { +// bean.setCanUnintall(true); +// } try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 0); String versionCode = context.getPackageManager() .getPackageInfo(packageName, 0).versionName; bean.setVersion(versionCode); String appInstallDir = packageInfo.applicationInfo.publicSourceDir; - int size = Integer.valueOf((int) new File(appInstallDir).length()); + int size = (int) new File(appInstallDir).length(); bean.setSize(size); if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) { //第三方应用 @@ -744,7 +744,6 @@ public class ApkUtils { return appList; } - public static HashSet canremove_systemapp = new HashSet() {{ //预置的可以卸载的系统应用,判断出来为第三方 this.add("com.android.quicksearchbox"); @@ -761,7 +760,5 @@ public class ApkUtils { this.add("com.uiui.os"); this.add("com.uiui.browser"); this.add("com.uiui.sn"); - }}; - } diff --git a/app/src/main/java/com/uiui/appstore/utils/FileUtils.java b/app/src/main/java/com/uiui/appstore/utils/FileUtils.java index 1b654d0..af4cea4 100644 --- a/app/src/main/java/com/uiui/appstore/utils/FileUtils.java +++ b/app/src/main/java/com/uiui/appstore/utils/FileUtils.java @@ -3,7 +3,8 @@ package com.uiui.appstore.utils; import android.content.Context; import android.util.Log; -import com.alibaba.fastjson.JSONObject; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import com.uiui.appstore.base.FilePath; import com.arialyy.aria.core.Aria; @@ -54,11 +55,14 @@ public class FileUtils { return bigInt.toString(32); } - public static void ariaDownload(Context context, String url, JSONObject jsonObject) { + public static void ariaDownload(Context context, String url, JsonObject jsonObject) { String fileName = getFileNamefromURL(url); - String urlMD5 = jsonObject.getString("MD5"); - Log.e("ariaDownload", "urlMD5=" + urlMD5); - File file = new File(FilePath.FileDownloadPath + "/jgy/" + fileName); + JsonElement jsonElement = jsonObject.get("MD5"); + if (jsonElement!=null){ + String urlMD5 = jsonElement.getAsString(); + Log.e("ariaDownload", "urlMD5=" + urlMD5); + } + File file = new File(FilePath.FileDownloadPath + "/uiui/" + fileName); if (file.exists() && !file.isDirectory()) { String filenameMD5 = getMD5fromFileName(url); @@ -71,8 +75,8 @@ public class FileUtils { } else { Aria.download(context) .load(url) //读取下载地址 - .setFilePath(FilePath.FileDownloadPath + "/jgy/" + fileName, true) - .setExtendField(jsonObject.toJSONString()) + .setFilePath(FilePath.FileDownloadPath + "/uiui/" + fileName, true) + .setExtendField(jsonObject.toString()) .create(); //启动下载} // SaveListUtils.addDownLoadList(app_package); // } @@ -80,8 +84,8 @@ public class FileUtils { } else { Aria.download(context) .load(url) //读取下载地址 - .setFilePath(FilePath.FileDownloadPath + "/jgy/" + fileName, true) - .setExtendField(jsonObject.toJSONString()) + .setFilePath(FilePath.FileDownloadPath + "/uiui/" + fileName, true) + .setExtendField(jsonObject.toString()) .create(); //启动下载} } } diff --git a/app/src/main/java/com/uiui/appstore/utils/JGYUtils.java b/app/src/main/java/com/uiui/appstore/utils/JGYUtils.java index 88179cd..a77834e 100644 --- a/app/src/main/java/com/uiui/appstore/utils/JGYUtils.java +++ b/app/src/main/java/com/uiui/appstore/utils/JGYUtils.java @@ -33,11 +33,17 @@ public class JGYUtils { private static JGYUtils sInstance; private Context mContext; - public static int MTKPlatform = 1; - public static int ZhanruiPlatform = 2; - public static int UnknowPlatform = 0; - public static String MTKTag = "MTK"; - public static String ZhanruiTag = "展锐"; + + public static final int MTKPlatform = 1; + public static final int CubePlatform = 2; + public static final int ZhanruiPlatform = 3; + public static final int UMTK11Platform = 4; + public static final int UnknowPlatform = 0; + + public static final String MTKTag = "MTK"; + public static final String ZhanruiTag = "展锐";//酷比展睿 + public static final String NewZhanruiTag = "新展锐"; + public static final String UMTK11Tag = "UMTK11"; private JGYUtils(Context context) { @@ -285,10 +291,16 @@ public class JGYUtils { if ("MTK".equalsIgnoreCase(platform)) { Log.i(TAG, "checkAppPlatform: " + "MTK平台"); return MTKPlatform; - } else if ("ZhanRui".equalsIgnoreCase(platform)) { + } else if ("展锐".equalsIgnoreCase(platform)) { Log.i(TAG, "checkAppPlatform: " + "展锐平台"); + return CubePlatform; + } else if ("新展锐".equalsIgnoreCase(platform)) { + Log.i(TAG, "checkAppPlatform: " + "新展锐平台"); return ZhanruiPlatform; - } else { + }else if ("UMTK11".equalsIgnoreCase(platform)) { + Log.i(TAG, "checkAppPlatform: " + "UMTK11"); + return UMTK11Platform; + } else { Log.i(TAG, "checkAppPlatform: " + "没有数据"); return UnknowPlatform; } @@ -311,8 +323,12 @@ public class JGYUtils { String platform = BuildConfig.platform; if ("MTK".equalsIgnoreCase(platform)) { getAppPlatformCallback.AppPlatform(MTKPlatform); - } else if ("ZhanRui".equalsIgnoreCase(platform)) { + } else if ("展锐".equalsIgnoreCase(platform)) { + getAppPlatformCallback.AppPlatform(CubePlatform); + } else if ("新展锐".equalsIgnoreCase(platform)) { getAppPlatformCallback.AppPlatform(ZhanruiPlatform); + } else if ("UMTK11".equalsIgnoreCase(platform)) { + getAppPlatformCallback.AppPlatform(UMTK11Platform); } else { getAppPlatformCallback.AppPlatform(UnknowPlatform); } diff --git a/app/src/main/java/com/uiui/appstore/utils/Utils.java b/app/src/main/java/com/uiui/appstore/utils/Utils.java index 32e48b7..5616511 100644 --- a/app/src/main/java/com/uiui/appstore/utils/Utils.java +++ b/app/src/main/java/com/uiui/appstore/utils/Utils.java @@ -649,6 +649,7 @@ public class Utils { int width = mask.getWidth(); int height = mask.getHeight(); Bitmap bitmapScale = Bitmap.createScaledBitmap(mBitmap, width, height, true); + bitmapScale.setDensity(context.getResources().getDisplayMetrics().densityDpi); // Palette p = Palette.from(mBitmap).generate(); // Palette.Swatch vibrant = p.getVibrantSwatch();//有活力的 diff --git a/app/src/main/res/drawable-xhdpi/icon_download_task.png b/app/src/main/res/drawable-xhdpi/icon_download_task.png index 8e2d950..75acd97 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_download_task.png and b/app/src/main/res/drawable-xhdpi/icon_download_task.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_my_task.png b/app/src/main/res/drawable-xhdpi/icon_my_task.png index b41d694..d1de0f7 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_my_task.png and b/app/src/main/res/drawable-xhdpi/icon_my_task.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_update_task.png b/app/src/main/res/drawable-xhdpi/icon_update_task.png index 73d46e3..41a3074 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_update_task.png and b/app/src/main/res/drawable-xhdpi/icon_update_task.png differ diff --git a/app/src/main/res/drawable-xhdpi/ratingbar_off.png b/app/src/main/res/drawable-xhdpi/ratingbar_off.png new file mode 100644 index 0000000..0d2c413 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ratingbar_off.png differ diff --git a/app/src/main/res/drawable-xhdpi/ratingbar_on.png b/app/src/main/res/drawable-xhdpi/ratingbar_on.png new file mode 100644 index 0000000..963faef Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ratingbar_on.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ratingbar_off.png b/app/src/main/res/drawable-xxxhdpi/ratingbar_off.png deleted file mode 100644 index dc6ef93..0000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ratingbar_off.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ratingbar_on.png b/app/src/main/res/drawable-xxxhdpi/ratingbar_on.png deleted file mode 100644 index f008b43..0000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ratingbar_on.png and /dev/null differ diff --git a/app/src/main/res/layout-land/activity_details.xml b/app/src/main/res/layout-land/activity_details.xml index 36e9065..2b8dd09 100644 --- a/app/src/main/res/layout-land/activity_details.xml +++ b/app/src/main/res/layout-land/activity_details.xml @@ -1,14 +1,14 @@ - @@ -27,17 +27,15 @@ android:id="@+id/detail_tv_title" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginLeft="10dp" + android:layout_marginStart="10dp" android:gravity="center_vertical" android:singleLine="true" android:text="应用详情" android:textColor="@color/default_text_color" android:textSize="@dimen/activity_font_size" android:textStyle="bold" /> - - - - + android:textSize="@dimen/sp_21" + android:textStyle="bold" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:layout_marginTop="@dimen/dp_4" + android:isIndicator="true" + android:rating="3" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/detail_tv_name" /> - + android:layout_marginTop="@dimen/dp_4" + android:text="大小" + app:layout_constraintTop_toBottomOf="@+id/detail_rating_bar" /> + + + + android:visibility="visible"> @@ -133,9 +144,7 @@ android:text="应用介绍" android:textSize="@dimen/sp_16" android:textStyle="bold" - android:visibility="gone"> - - + android:visibility="gone" /> - - + android:layout_marginRight="@dimen/dp_15" /> - - + android:visibility="gone" /> - - + android:layout_marginRight="@dimen/dp_15" /> - - + android:visibility="gone" /> - - - -