From 634d1eea3221cf745d719608546a3d7dca7e19c2 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 08 一月 2025 11:54:11 +0800 Subject: [PATCH] 2025年01月08日11:54:09 --- /dev/null | 296 ------------------------------------- app/src/main/res/layout/activity_as_regards.xml | 18 + wheelview/src/androidTest/java/test/wheelview/ExampleInstrumentedTest.java | 46 ++-- app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java | 60 ++++--- pickerview/src/androidTest/java/com/bigkoo/pickerview/ApplicationTest.java | 20 +- app/src/main/AndroidManifest.xml | 5 app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java | 26 ++ app/build.gradle | 2 8 files changed, 104 insertions(+), 369 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6b03070..e7a9f8a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,7 +29,7 @@ applicationId "com.hdl.photovoltaic" minSdkVersion 23 targetSdkVersion 34 - versionCode 4 + versionCode 5 versionName "1.0.0"//鐗堟湰瑙勫垯1.3鏄骇鍝佸姛鑳借凯浠g敤鐨�,鏈�鍚庝竴浣�0鏄垜浠慨澶峛ug鐢ㄧ殑 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2653181..77fc6a4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,7 +47,7 @@ <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- Optional. Required for location feature --> <!-- 涓轰簡鎻愰珮sdk璇嗗埆鍞竴鐢ㄦ埛鐨勮兘鍔涳紝淇濊瘉娑堟伅鎺ㄩ�佺殑绮惧噯閫佽揪锛屽缓璁泦鎴愪互涓嬫潈闄愶紙鍙�夛級 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> - <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> + <!-- <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /><!–璋锋瓕play涓婃灦涓嶄簡–>--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 濡傛偍闇�瑕佹帴鍏ュ湴鐞嗗洿鏍忎笟鍔★紝寤鸿闆嗘垚浠ヤ笅鏉冮檺锛堝彲閫夛級 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> @@ -132,9 +132,6 @@ <activity android:name=".ui.me.CPersonalDataActivity" android:exported="false" /> - - <service android:name=".widget.apkwgtupload.ApkDownLoadService" /> - <activity android:name=".ui.me.WebActivity" android:exported="false" /> diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java index 05583af..fc2a16e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java @@ -5,6 +5,7 @@ import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.Bundle; import android.view.View; @@ -24,7 +25,6 @@ import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.widget.FlashingBoxDialog; import com.hdl.photovoltaic.widget.FlashingIconBoxDialog; -import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog; @@ -137,6 +137,7 @@ private void initView() { viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000)); + viewBinding.asRegardsVersionUpdatingRl.setVisibility(View.GONE); viewBinding.toolbarTopRl.topTitleTv.setText(R.string.me_regard); viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE); String versionsStr = _mActivity.getResources().getString(R.string.app_version_number) + " " + AppConfigManage.getVersionName(); @@ -170,11 +171,24 @@ updateConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { @Override public void Confirm() { - Intent intent = new Intent(_mActivity, ApkDownLoadService.class); - intent.putExtra("updateUrl", mNewVersionBean.getPackageUrl()); - intent.putExtra("downLoadName", HdlAppUpdateLogic.getInstance().getApkFileName()); - intent.putExtra("downLoadType", "0"); - _mActivity.startService(intent); + FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity, 1500); + flashingBoxDialog.setContent(getString(R.string.loading_not_supported)); + flashingBoxDialog.show(); +// try { +// PackageManager packageManager = getPackageManager(); +// PackageInfo packageInfo = packageManager.getPackageInfo("com.android.vending", 0); +// String versionName = packageInfo.versionName; // 鑾峰彇鐗堟湰鍙� +// int versionCode = packageInfo.versionCode; // 鑾峰彇鐗堟湰浠g爜 +// // 鍦ㄦ澶勫鐞嗙増鏈俊鎭� +// } catch (PackageManager.NameNotFoundException e) { +// e.printStackTrace(); +// // 澶勭悊寮傚父锛屼緥濡傝胺姝孭lay鍟嗗簵搴旂敤鏈畨瑁� +// } +// +// String packageName = "com.hdl.photovoltaic"; // 鏇挎崲涓轰綘鎯宠烦杞埌鐨勫簲鐢ㄧ殑鍖呭悕 +// Intent intent = new Intent(Intent.ACTION_VIEW); +// intent.setData(Uri.parse("market://details?id=" + packageName)); +// startActivity(intent); updateConfirmationCancelDialog.dismiss(); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java index f0e1da1..5846c41 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java @@ -111,32 +111,44 @@ @Override public void onClick(View v) { - //Manifest.permission.WRITE_EXTERNAL_STORAGE 璇诲啓璁惧涓婄殑鐓х墖浠ュ強鏂囦欢 - //generalPermission.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}); - //Android 13浠ヤ笂鐢ㄥ埆鐨勬潈闄� - if (Build.VERSION.SDK_INT >= 33) { - PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.READ_MEDIA_IMAGES, new PermissionUtils.PermissionState() { - @Override - public void Success(int value) { - if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) { + + PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() { + @Override + public void Success(int value) { + if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) { // HdlThreadLogic.toast(_mActivity, R.string.permission_open); - return; - } - changedUserAvatar(); + return; } - }, true); - } else { - PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() { - @Override - public void Success(int value) { - if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) { -// HdlThreadLogic.toast(_mActivity, R.string.permission_open); - return; - } - changedUserAvatar(); - } - }, true); - } + changedUserAvatar(); + } + }, true); + +// //Manifest.permission.WRITE_EXTERNAL_STORAGE 璇诲啓璁惧涓婄殑鐓х墖浠ュ強鏂囦欢 +// //generalPermission.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}); +// //Android 13浠ヤ笂鐢ㄥ埆鐨勬潈闄� +// if (Build.VERSION.SDK_INT >= 33) { +// PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.READ_MEDIA_IMAGES, new PermissionUtils.PermissionState() { +// @Override +// public void Success(int value) { +// if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) { +//// HdlThreadLogic.toast(_mActivity, R.string.permission_open); +// return; +// } +// changedUserAvatar(); +// } +// }, true); +// } else { +// PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() { +// @Override +// public void Success(int value) { +// if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) { +//// HdlThreadLogic.toast(_mActivity, R.string.permission_open); +// return; +// } +// changedUserAvatar(); +// } +// }, true); +// } } }); diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AndroidPermissionActivity.java b/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AndroidPermissionActivity.java deleted file mode 100644 index 4c303bf..0000000 --- a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AndroidPermissionActivity.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.hdl.photovoltaic.widget.apkwgtupload; - -import android.Manifest; -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.net.Uri; -import android.os.Build; -import android.os.Bundle; -import android.provider.Settings; - -import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; -import androidx.appcompat.app.AppCompatActivity; -import androidx.core.app.ActivityCompat; - -import com.hdl.photovoltaic.HDLApp; -import com.hdl.photovoltaic.R; - -import org.jetbrains.annotations.Nullable; - -/** - * Author: zoro - * Date: 2021/5/25 - * Description: This is AndroidOPermissionActivity - */ - -public class AndroidPermissionActivity extends AppCompatActivity { - public static final int INSTALL_PACKAGES_REQUESTCODE = 1; - private AlertDialog mAlertDialog; - public static AppDownloadManager.AndroidOInstallPermissionListener sListener; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - // 寮圭獥 - if (Build.VERSION.SDK_INT >= 26) { - ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.REQUEST_INSTALL_PACKAGES}, INSTALL_PACKAGES_REQUESTCODE); - } else { - finish(); - } - - - } - - @RequiresApi(api = Build.VERSION_CODES.O) - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - switch (requestCode) { - case INSTALL_PACKAGES_REQUESTCODE: - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - if (sListener != null) { - sListener.permissionSuccess(); - finish(); - } - } else { - showDialog(); - } - break; - - } - } - - private void showDialog() { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.app_name); - builder.setMessage(HDLApp.getInstance().getResources().getString(R.string.app_update_content)); - builder.setPositiveButton(HDLApp.getInstance().getResources().getString(R.string.me_set), new DialogInterface.OnClickListener() { - @RequiresApi(api = Build.VERSION_CODES.O) - @Override - public void onClick(DialogInterface dialogInterface, int i) { - startInstallPermissionSettingActivity(); - mAlertDialog.dismiss(); - } - }); - builder.setNegativeButton(HDLApp.getInstance().getResources().getString(R.string.loading_cancel), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - if (sListener != null) { - sListener.permissionFail(); - } - mAlertDialog.dismiss(); - finish(); - } - }); - builder.setCancelable(false); - mAlertDialog = builder.create(); - mAlertDialog.show(); - } - - @RequiresApi(api = Build.VERSION_CODES.O) - private void startInstallPermissionSettingActivity() { - //娉ㄦ剰杩欎釜鏄�8.0鏂癆PI - Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:" + getPackageName())); - startActivityForResult(intent, 1); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == 1 && resultCode == RESULT_OK) { - // 鎺堟潈鎴愬姛 - if (sListener != null) { - sListener.permissionSuccess(); - } - } else { - // 鎺堟潈澶辫触 - if (sListener != null) { - sListener.permissionFail(); - } - } - finish(); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - sListener = null; - } -} diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/ApkDownLoadService.java b/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/ApkDownLoadService.java deleted file mode 100644 index 67c0287..0000000 --- a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/ApkDownLoadService.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.hdl.photovoltaic.widget.apkwgtupload; - -import android.app.Notification; -import android.app.NotificationChannel; -import android.app.NotificationManager; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.os.Build; -import android.os.IBinder; - -import androidx.core.app.NotificationCompat; - -import org.jetbrains.annotations.Nullable; - -/** - * Created by Zoro - * Created on 2021/5/25 - * description: - */ -public class ApkDownLoadService extends Service { - - - private Context context; - - /** - * apk鏇存柊绠$悊绫� - */ - private AppDownloadManager manager; - - /** - * 鏇存柊Url - */ - private String updateUrl; - - /** - * 涓嬭浇鏂囦欢鍚� - */ - private String downLoadName; - - /** - * 涓嬭浇鏂囦欢绫诲瀷 1锛歸gt 0锛歛pk - */ - private String downLoadType; - - @Override - public void onCreate() { - super.onCreate(); - context = this; - manager = new AppDownloadManager(context); - startForeground(System.identityHashCode(this), getNotification()); - if (null != manager) { - manager.resume(); - } - } - - private Notification getNotification() { - final String CHANNEL_ID = "default"; - final String CHANNEL_NAME = "Default Channel"; - NotificationManager notificationManager = (NotificationManager) getBaseContext().getSystemService(NOTIFICATION_SERVICE); - - //閫傞厤瀹夊崜8.0鐨勬秷鎭笭閬� - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - if (notificationManager != null) { - NotificationChannel channel = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH); - notificationManager.createNotificationChannel(channel); - } - } - - NotificationCompat.Builder notification = - new NotificationCompat.Builder(getBaseContext(), CHANNEL_ID); - - notification.setAutoCancel(true) - .setDefaults(Notification.DEFAULT_ALL); - - return notification.build(); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { -// App.getApp().setShowUpdate(true); - updateUrl = intent.getStringExtra("updateUrl"); - downLoadName = intent.getStringExtra("downLoadName"); - downLoadType = intent.getStringExtra("downLoadType"); - if (null != updateUrl) { - if (null != manager) { - manager.downloadApk(updateUrl, downLoadName, "update...", downLoadName, downLoadType); - } - } - return super.onStartCommand(intent, flags, startId); - } - - @Override - public void onDestroy() { - super.onDestroy(); - if (null != manager) { - manager.onPause(); - } - } - - @Nullable - @Override - public IBinder onBind(Intent intent) { - return null; - } -} diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AppDownloadManager.java b/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AppDownloadManager.java deleted file mode 100644 index 8c02c16..0000000 --- a/app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AppDownloadManager.java +++ /dev/null @@ -1,296 +0,0 @@ -package com.hdl.photovoltaic.widget.apkwgtupload; - -import android.app.Activity; -import android.app.DownloadManager; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.database.ContentObserver; -import android.database.Cursor; -import android.net.Uri; -import android.os.Build; -import android.os.Environment; -import android.os.Handler; -import android.text.TextUtils; -import android.util.Log; - -import androidx.core.content.FileProvider; - -import com.hdl.photovoltaic.HDLApp; -import com.hdl.photovoltaic.R; -import com.hdl.photovoltaic.other.HdlAppUpdateLogic; -import com.hdl.photovoltaic.other.HdlThreadLogic; -import com.hdl.photovoltaic.uni.HDLUniMP; -import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; - -import java.io.File; -import java.lang.ref.WeakReference; -import java.util.Objects; - -/** - * Author: zoro - * Date: 2021/05/25 - * Description: 闇�瑕佹洿鏀笷ileProvider.getUriForFile - */ - -public class AppDownloadManager { - public static final String TAG = "AppDownloadManager"; - private WeakReference<Context> weakReference; - private DownloadManager mDownloadManager; - private DownloadChangeObserver mDownLoadChangeObserver; - private DownloadReceiver mDownloadReceiver; - private long mReqId; - private OnUpdateListener mUpdateListener; - - private boolean downloading = false;//姝e湪涓嬭浇 - - private boolean downSuccess = false;//涓嬭浇鎴愬姛 - - private String downLoadType; - - - public AppDownloadManager(Context context) { - weakReference = new WeakReference<Context>(context); - mDownloadManager = (DownloadManager) weakReference.get().getSystemService(Context.DOWNLOAD_SERVICE); - mDownLoadChangeObserver = new DownloadChangeObserver(new Handler()); - mDownloadReceiver = new DownloadReceiver(); - } - - public void setUpdateListener(OnUpdateListener mUpdateListener) { - this.mUpdateListener = mUpdateListener; - } - - /** - * @param apkUrl 涓嬭浇鏂囦欢璺緞 - * @param title 涓嬭浇鏍囬 - * @param desc 涓嬭浇鎻忚堪 - * @param fileName 涓嬭浇鏂囦欢鍚� - * @param downLoadType 涓嬭浇绫诲瀷 1锛歸gt 0锛歛pk - */ - public void downloadApk(String apkUrl, String title, String desc, String fileName, String downLoadType) { - if (downloading) { - return; - } - downloading = true; - this.downLoadType = downLoadType; - // fix bug : 瑁呬笉浜嗘柊鐗堟湰锛屽湪涓嬭浇涔嬪墠搴旇鍒犻櫎宸叉湁鏂囦欢 - File apkFile = new File(weakReference.get().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), fileName); - if (apkFile.exists()) { - apkFile.delete(); - } - DownloadManager.Request request = new DownloadManager.Request(Uri.parse(apkUrl)); - if ("0".equals(downLoadType)) { - //璁剧疆title - request.setTitle(title); - // 璁剧疆鎻忚堪 - request.setDescription(desc); - // 瀹屾垚鍚庢樉绀洪�氱煡鏍� - request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); - request.setDestinationInExternalFilesDir(weakReference.get(), Environment.DIRECTORY_DOWNLOADS, HdlAppUpdateLogic.getInstance().getApkFileName()); - request.setMimeType("application/vnd.android.package-archive"); - } else { - request.setDestinationInExternalFilesDir(weakReference.get(), Environment.DIRECTORY_DOWNLOADS, HDLUniMP.UNI_APP_ID + ".wgt"); - request.setMimeType("application/vnd.android.package-archive"); - } - mReqId = mDownloadManager.enqueue(request); - } - - /** - * 鍙栨秷涓嬭浇 - */ - public void cancel() { - mDownloadManager.remove(mReqId); - } - - /** - * 瀵瑰簲 {@link Activity } - */ - public void resume() { - //璁剧疆鐩戝惉Uri.parse("content://downloads/my_downloads") - weakReference.get().getContentResolver().registerContentObserver(Uri.parse("content://downloads/my_downloads"), true, - mDownLoadChangeObserver); - - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE); - // 娉ㄥ唽骞挎挱锛岀洃鍚珹PK鏄惁涓嬭浇瀹屾垚 - weakReference.get().registerReceiver(mDownloadReceiver, intentFilter); - } - - /** - * - */ - public void onPause() { - weakReference.get().getContentResolver().unregisterContentObserver(mDownLoadChangeObserver); - weakReference.get().unregisterReceiver(mDownloadReceiver); - } - - private void updateView() { - int[] bytesAndStatus = new int[]{0, 0, 0}; - DownloadManager.Query query = new DownloadManager.Query().setFilterById(mReqId); - Cursor c = null; - try { - c = mDownloadManager.query(query); - if (c != null && c.moveToFirst()) { - //宸茬粡涓嬭浇鐨勫瓧鑺傛暟 - bytesAndStatus[0] = c.getInt(c.getColumnIndexOrThrow(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); - //鎬婚渶涓嬭浇鐨勫瓧鑺傛暟 - bytesAndStatus[1] = c.getInt(c.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); - //鐘舵�佹墍鍦ㄧ殑鍒楃储寮� - bytesAndStatus[2] = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); - } - } finally { - if (c != null) { - c.close(); - } - } - if (mUpdateListener != null) { - mUpdateListener.update(bytesAndStatus[0], bytesAndStatus[1]); - } - if (bytesAndStatus[0] == bytesAndStatus[1]) { - downSuccess = true; - Log.i(TAG, "涓嬭浇杩涘害锛氬畬鎴�"); - } - long value = bytesAndStatus[0]* 100L / bytesAndStatus[1]; - Log.i(TAG, "涓嬭浇杩涘害锛�" + value + ""); - } - - class DownloadChangeObserver extends ContentObserver { - - /** - * Creates a content observer. - * - * @param handler The handler to run {@link #onChange} on, or null if none. - */ - public DownloadChangeObserver(Handler handler) { - super(handler); - } - - @Override - public void onChange(boolean selfChange) { - super.onChange(selfChange); - updateView(); - } - } - - class DownloadReceiver extends BroadcastReceiver { - - @Override - public void onReceive(final Context context, final Intent intent) { - if (downSuccess) { - if ("0".equals(downLoadType)) { - //涓嬭浇鎴愬姛浜嗗紑濮嬪畨瑁� - downloading = false; - boolean haveInstallPermission; - // 鍏煎Android 8.0 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - //鍏堣幏鍙栨槸鍚︽湁瀹夎鏈煡鏉ユ簮搴旂敤鐨勬潈闄� - haveInstallPermission = context.getPackageManager().canRequestPackageInstalls(); - if (!haveInstallPermission) {//娌℃湁鏉冮檺 - // 寮圭獥锛屽苟鍘昏缃〉闈㈡巿鏉� - final AndroidOInstallPermissionListener listener = new AndroidOInstallPermissionListener() { - @Override - public void permissionSuccess() { - installApk(context, intent); - } - - @Override - public void permissionFail() { - HdlThreadLogic.toast(HDLApp.getInstance(), HDLApp.getInstance().getResources().getString(R.string.app_update_fail)); - } - }; - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - AndroidPermissionActivity.sListener = listener; - Intent intentPermission = new Intent(context, AndroidPermissionActivity.class); - intentPermission.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intentPermission); - } - }, 2000); - - } else { - installApk(context, intent); - } - } else { - installApk(context, intent); - } - } else { - //閲婃斁涓嬭浇鐨剋gt鍖� - HDLUniMPSDKManager.getInstance().hdlReleaseAppResourceToRunPathWithAppid(HDLUniMP.UNI_APP_ID); - } - } - } - } - - - /** - * @param context - - * @param intent - - */ - private void installApk(Context context, Intent intent) { - long completeDownLoadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1); - Uri uri; - Intent intentInstall = new Intent(); - intentInstall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intentInstall.setAction(Intent.ACTION_VIEW); - - if (completeDownLoadId == mReqId) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { // 6.0浠ヤ笅 - uri = mDownloadManager.getUriForDownloadedFile(completeDownLoadId); - if (null == uri) { - File apkFile = new File(weakReference.get().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), HdlAppUpdateLogic.getInstance().getApkFileName()); - if (apkFile.exists()) { - uri = Uri.fromFile(apkFile); - } - } - } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { // 6.0 - 7.0 - File apkFile = queryDownloadedApk(context, completeDownLoadId); - uri = Uri.fromFile(apkFile); - } else { // Android 7.0 浠ヤ笂 - uri = FileProvider.getUriForFile(context, - "com.hdl.photovoltaic.fileProvider", - new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), HdlAppUpdateLogic.getInstance().getApkFileName())); - intentInstall.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); - } - // 瀹夎搴旂敤 - if (null != uri) { - intentInstall.setDataAndType(uri, "application/vnd.android.package-archive"); - context.startActivity(intentInstall); - } - } - } - - //閫氳繃downLoadId鏌ヨ涓嬭浇鐨刟pk锛岃В鍐�6.0浠ュ悗瀹夎鐨勯棶棰� - public static File queryDownloadedApk(Context context, long downloadId) { - File targetApkFile = null; - DownloadManager downloader = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); - - if (downloadId != -1) { - DownloadManager.Query query = new DownloadManager.Query(); - query.setFilterById(downloadId); - query.setFilterByStatus(DownloadManager.STATUS_SUCCESSFUL); - Cursor cur = downloader.query(query); - if (cur != null) { - if (cur.moveToFirst()) { - String uriString = cur.getString(cur.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); - if (!TextUtils.isEmpty(uriString)) { - targetApkFile = new File(Objects.requireNonNull(Uri.parse(uriString).getPath())); - } - } - cur.close(); - } - } - return targetApkFile; - } - - public interface OnUpdateListener { - void update(int currentByte, int totalByte); - } - - public interface AndroidOInstallPermissionListener { - void permissionSuccess(); - - void permissionFail(); - } -} diff --git a/app/src/main/res/layout/activity_as_regards.xml b/app/src/main/res/layout/activity_as_regards.xml index f295bbf..faae3e9 100644 --- a/app/src/main/res/layout/activity_as_regards.xml +++ b/app/src/main/res/layout/activity_as_regards.xml @@ -81,16 +81,26 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/qr_code_box" /> + + + <View + android:id="@+id/line" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_29" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/as_regards_download_app_tv" /> + + <!--鐗堟湰鏇存柊--> <RelativeLayout android:id="@+id/as_regards_version_updating_rl" android:layout_width="match_parent" android:layout_height="@dimen/dp_57" - android:layout_marginTop="@dimen/dp_29" android:background="@color/text_FF1C1C1E" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/as_regards_download_app_tv"> + app:layout_constraintTop_toBottomOf="@+id/line"> <TextView android:id="@+id/as_regards_version_updating_tv" @@ -100,9 +110,7 @@ android:layout_marginStart="@dimen/dp_16" android:text="@string/app_version_upgrade" android:textColor="@color/text_E6FFFFFF" - android:textSize="@dimen/text_14" - - /> + android:textSize="@dimen/text_14" /> <LinearLayout android:id="@+id/as_regards_version_updating_ll" diff --git a/pickerview/src/androidTest/java/com/bigkoo/pickerview/ApplicationTest.java b/pickerview/src/androidTest/java/com/bigkoo/pickerview/ApplicationTest.java index e820eb1..84067f5 100644 --- a/pickerview/src/androidTest/java/com/bigkoo/pickerview/ApplicationTest.java +++ b/pickerview/src/androidTest/java/com/bigkoo/pickerview/ApplicationTest.java @@ -1,13 +1,13 @@ package com.bigkoo.pickerview; import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> - */ -public class ApplicationTest extends ApplicationTestCase<Application> { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file +//import android.test.ApplicationTestCase; +// +///** +// * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> +// */ +//public class ApplicationTest extends ApplicationTestCase<Application> { +// public ApplicationTest() { +// super(Application.class); +// } +//} \ No newline at end of file diff --git a/wheelview/src/androidTest/java/test/wheelview/ExampleInstrumentedTest.java b/wheelview/src/androidTest/java/test/wheelview/ExampleInstrumentedTest.java index b5aa002..8cbab30 100644 --- a/wheelview/src/androidTest/java/test/wheelview/ExampleInstrumentedTest.java +++ b/wheelview/src/androidTest/java/test/wheelview/ExampleInstrumentedTest.java @@ -1,26 +1,26 @@ package test.wheelview; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumentation test, which will execute on an Android device. - * - * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() throws Exception { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("test.wheelview.test", appContext.getPackageName()); - } -} +//import android.support.test.InstrumentationRegistry; +//import android.support.test.runner.AndroidJUnit4; +// +//import org.junit.Test; +//import org.junit.runner.RunWith; +// +//import static org.junit.Assert.*; +// +///** +// * Instrumentation test, which will execute on an Android device. +// * +// * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> +// */ +//@RunWith(AndroidJUnit4.class) +//public class ExampleInstrumentedTest { +// @Test +// public void useAppContext() throws Exception { +// // Context of the app under test. +// Context appContext = InstrumentationRegistry.getTargetContext(); +// +// assertEquals("test.wheelview.test", appContext.getPackageName()); +// } +//} -- Gitblit v1.8.0