diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java index 6d0b03b..1a930d2 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java @@ -3,7 +3,6 @@ import android.app.ProgressDialog; import android.content.ClipData; import android.content.ClipboardManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -14,8 +13,6 @@ import android.widget.Switch; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.core.content.FileProvider; import com.casic.dcms.BuildConfig; @@ -128,24 +125,6 @@ }); } - private void startSettingsActivity(@NonNull String packageName) { - Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); - startActivity(intent); - } - - private void startSettingsActivity(@NonNull String packageName, @NonNull String activityDir) { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(packageName, activityDir)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - } - @OnClick({R.id.userNameLayout, R.id.passwordLayout, R.id.helpfulLayout, R.id.copyView, R.id.updateVersionView, R.id.loginOutButton}) @Override public void onClick(View v) { @@ -224,6 +203,10 @@ //下载新版本 progressDialog.setMessage("下载新版本中..."); progressDialog.show(); + if (progressDialog.getProgress() != 0) { + progressDialog.setProgress(0);//防止下载到中途却卡住无法再进行下载 + return; + } downloadApk(downloadUrl); } }).create().show(); @@ -237,16 +220,16 @@ @Override public void onDownloadStart(long totalBytes) { progressDialog.setMax((int) totalBytes); - progressDialog.show(); } @Override - public void onProgressChanged(long sumBytes) { - progressDialog.setProgress((int) sumBytes); + public void onProgressChanged(long currentBytes) { + progressDialog.setProgress((int) currentBytes); } @Override public void onDownloadEnd(File file) { + progressDialog.setProgress(0);//防止下载完成却卡住的情况 progressDialog.dismiss(); installApk(file); } diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java index 6d0b03b..1a930d2 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java @@ -3,7 +3,6 @@ import android.app.ProgressDialog; import android.content.ClipData; import android.content.ClipboardManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -14,8 +13,6 @@ import android.widget.Switch; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.core.content.FileProvider; import com.casic.dcms.BuildConfig; @@ -128,24 +125,6 @@ }); } - private void startSettingsActivity(@NonNull String packageName) { - Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); - startActivity(intent); - } - - private void startSettingsActivity(@NonNull String packageName, @NonNull String activityDir) { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(packageName, activityDir)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - } - @OnClick({R.id.userNameLayout, R.id.passwordLayout, R.id.helpfulLayout, R.id.copyView, R.id.updateVersionView, R.id.loginOutButton}) @Override public void onClick(View v) { @@ -224,6 +203,10 @@ //下载新版本 progressDialog.setMessage("下载新版本中..."); progressDialog.show(); + if (progressDialog.getProgress() != 0) { + progressDialog.setProgress(0);//防止下载到中途却卡住无法再进行下载 + return; + } downloadApk(downloadUrl); } }).create().show(); @@ -237,16 +220,16 @@ @Override public void onDownloadStart(long totalBytes) { progressDialog.setMax((int) totalBytes); - progressDialog.show(); } @Override - public void onProgressChanged(long sumBytes) { - progressDialog.setProgress((int) sumBytes); + public void onProgressChanged(long currentBytes) { + progressDialog.setProgress((int) currentBytes); } @Override public void onDownloadEnd(File file) { + progressDialog.setProgress(0);//防止下载完成却卡住的情况 progressDialog.dismiss(); installApk(file); } diff --git a/app/src/main/java/com/casic/dcms/utils/FileUtils.java b/app/src/main/java/com/casic/dcms/utils/FileUtils.java index 3184d2c..6c69999 100644 --- a/app/src/main/java/com/casic/dcms/utils/FileUtils.java +++ b/app/src/main/java/com/casic/dcms/utils/FileUtils.java @@ -236,16 +236,16 @@ listener.onDownloadStart(total); File file = new File(savePath, url.substring(url.lastIndexOf("/") + 1)); fos = new FileOutputStream(file); - long sum = 0; + long current = 0; while ((len = is.read(buf)) != -1) { fos.write(buf, 0, len); - sum += len; - listener.onProgressChanged(sum); + current += len; + listener.onProgressChanged(current); } fos.flush(); listener.onDownloadEnd(file); } else { - Log.d(TAG, "onResponse: body is null"); + Log.e(TAG, "onResponse: body is null"); } } catch (Exception e) { e.printStackTrace(); diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java index 6d0b03b..1a930d2 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java @@ -3,7 +3,6 @@ import android.app.ProgressDialog; import android.content.ClipData; import android.content.ClipboardManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -14,8 +13,6 @@ import android.widget.Switch; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.core.content.FileProvider; import com.casic.dcms.BuildConfig; @@ -128,24 +125,6 @@ }); } - private void startSettingsActivity(@NonNull String packageName) { - Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); - startActivity(intent); - } - - private void startSettingsActivity(@NonNull String packageName, @NonNull String activityDir) { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(packageName, activityDir)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - } - @OnClick({R.id.userNameLayout, R.id.passwordLayout, R.id.helpfulLayout, R.id.copyView, R.id.updateVersionView, R.id.loginOutButton}) @Override public void onClick(View v) { @@ -224,6 +203,10 @@ //下载新版本 progressDialog.setMessage("下载新版本中..."); progressDialog.show(); + if (progressDialog.getProgress() != 0) { + progressDialog.setProgress(0);//防止下载到中途却卡住无法再进行下载 + return; + } downloadApk(downloadUrl); } }).create().show(); @@ -237,16 +220,16 @@ @Override public void onDownloadStart(long totalBytes) { progressDialog.setMax((int) totalBytes); - progressDialog.show(); } @Override - public void onProgressChanged(long sumBytes) { - progressDialog.setProgress((int) sumBytes); + public void onProgressChanged(long currentBytes) { + progressDialog.setProgress((int) currentBytes); } @Override public void onDownloadEnd(File file) { + progressDialog.setProgress(0);//防止下载完成却卡住的情况 progressDialog.dismiss(); installApk(file); } diff --git a/app/src/main/java/com/casic/dcms/utils/FileUtils.java b/app/src/main/java/com/casic/dcms/utils/FileUtils.java index 3184d2c..6c69999 100644 --- a/app/src/main/java/com/casic/dcms/utils/FileUtils.java +++ b/app/src/main/java/com/casic/dcms/utils/FileUtils.java @@ -236,16 +236,16 @@ listener.onDownloadStart(total); File file = new File(savePath, url.substring(url.lastIndexOf("/") + 1)); fos = new FileOutputStream(file); - long sum = 0; + long current = 0; while ((len = is.read(buf)) != -1) { fos.write(buf, 0, len); - sum += len; - listener.onProgressChanged(sum); + current += len; + listener.onProgressChanged(current); } fos.flush(); listener.onDownloadEnd(file); } else { - Log.d(TAG, "onResponse: body is null"); + Log.e(TAG, "onResponse: body is null"); } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java index 0164146..cd3e026 100644 --- a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java @@ -9,7 +9,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.media.AudioManager; import android.os.Build; import com.casic.dcms.R; @@ -19,12 +18,10 @@ @SuppressLint("StaticFieldLeak") private static NotificationHelper notificationHelper; private NotificationManager notificationManager; - private AudioManager audioManager; private NotificationHelper(Context context) { this.mContext = context; notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); } /** @@ -49,10 +46,10 @@ String id = name + "_DefaultChannel"; NotificationChannel mChannel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_HIGH); // mChannel.setSound(Uri.parse(""), Notification.AUDIO_ATTRIBUTES_DEFAULT); -// mChannel.setShowBadge(true); -// mChannel.enableVibration(true); -// mChannel.setVibrationPattern(new long[]{100, 200, 300}); -// mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 + mChannel.setShowBadge(true); + mChannel.enableVibration(true); + mChannel.setVibrationPattern(new long[]{100, 200, 300}); + mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 notificationManager.createNotificationChannel(mChannel); builder = new Notification.Builder(mContext, id); } else { @@ -67,8 +64,8 @@ public Notification createKeepAlive() { Notification.Builder builder = createBuilder(); Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle("移动城管") - .setContentText("移动城管运行中") + builder.setContentTitle("智慧城管") + .setContentText("智慧城管运行中") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.app_logo) .setLargeIcon(bitmap); @@ -78,26 +75,6 @@ } /** - * 创建无动作的默认通知 - * - * @param title 通知标题 - * @param message 通知内容 - */ - public Notification createDefault(String title, String message) { - Notification.Builder builder = createBuilder(); - Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle(title) - .setContentText(message) - .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.normal_small) - .setLargeIcon(bitmap) - .setAutoCancel(true); - Notification notification = builder.build(); - notification.flags = Notification.FLAG_AUTO_CANCEL; - return notification; - } - - /** * 创建有动作的默认通知 * * @param title 通知标题 @@ -114,17 +91,11 @@ .setWhen(System.currentTimeMillis()) .setSmallIcon(R.drawable.normal_small) .setLargeIcon(bitmap) + .setDefaults(Notification.DEFAULT_ALL) + .setPriority(Notification.PRIORITY_MAX) //设置通知的优先级最高 .setContentIntent(PendingIntent.getActivity(mContext, 0, intent, 0)) .setAutoCancel(true); Notification notification = builder.build(); - int ringerMode = audioManager.getRingerMode(); - if (ringerMode == 1) { - notification.defaults |= Notification.DEFAULT_VIBRATE;// 震动 - notification.vibrate = new long[]{0, 100, 200, 300}; - } - if (ringerMode == 2) { - notification.defaults |= Notification.DEFAULT_SOUND;// 声音 - } notification.visibility = Notification.VISIBILITY_PUBLIC;//设置锁屏可见 notification.flags = Notification.FLAG_AUTO_CANCEL; return notification; diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java index 6d0b03b..1a930d2 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java @@ -3,7 +3,6 @@ import android.app.ProgressDialog; import android.content.ClipData; import android.content.ClipboardManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -14,8 +13,6 @@ import android.widget.Switch; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.core.content.FileProvider; import com.casic.dcms.BuildConfig; @@ -128,24 +125,6 @@ }); } - private void startSettingsActivity(@NonNull String packageName) { - Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); - startActivity(intent); - } - - private void startSettingsActivity(@NonNull String packageName, @NonNull String activityDir) { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(packageName, activityDir)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - } - @OnClick({R.id.userNameLayout, R.id.passwordLayout, R.id.helpfulLayout, R.id.copyView, R.id.updateVersionView, R.id.loginOutButton}) @Override public void onClick(View v) { @@ -224,6 +203,10 @@ //下载新版本 progressDialog.setMessage("下载新版本中..."); progressDialog.show(); + if (progressDialog.getProgress() != 0) { + progressDialog.setProgress(0);//防止下载到中途却卡住无法再进行下载 + return; + } downloadApk(downloadUrl); } }).create().show(); @@ -237,16 +220,16 @@ @Override public void onDownloadStart(long totalBytes) { progressDialog.setMax((int) totalBytes); - progressDialog.show(); } @Override - public void onProgressChanged(long sumBytes) { - progressDialog.setProgress((int) sumBytes); + public void onProgressChanged(long currentBytes) { + progressDialog.setProgress((int) currentBytes); } @Override public void onDownloadEnd(File file) { + progressDialog.setProgress(0);//防止下载完成却卡住的情况 progressDialog.dismiss(); installApk(file); } diff --git a/app/src/main/java/com/casic/dcms/utils/FileUtils.java b/app/src/main/java/com/casic/dcms/utils/FileUtils.java index 3184d2c..6c69999 100644 --- a/app/src/main/java/com/casic/dcms/utils/FileUtils.java +++ b/app/src/main/java/com/casic/dcms/utils/FileUtils.java @@ -236,16 +236,16 @@ listener.onDownloadStart(total); File file = new File(savePath, url.substring(url.lastIndexOf("/") + 1)); fos = new FileOutputStream(file); - long sum = 0; + long current = 0; while ((len = is.read(buf)) != -1) { fos.write(buf, 0, len); - sum += len; - listener.onProgressChanged(sum); + current += len; + listener.onProgressChanged(current); } fos.flush(); listener.onDownloadEnd(file); } else { - Log.d(TAG, "onResponse: body is null"); + Log.e(TAG, "onResponse: body is null"); } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java index 0164146..cd3e026 100644 --- a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java @@ -9,7 +9,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.media.AudioManager; import android.os.Build; import com.casic.dcms.R; @@ -19,12 +18,10 @@ @SuppressLint("StaticFieldLeak") private static NotificationHelper notificationHelper; private NotificationManager notificationManager; - private AudioManager audioManager; private NotificationHelper(Context context) { this.mContext = context; notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); } /** @@ -49,10 +46,10 @@ String id = name + "_DefaultChannel"; NotificationChannel mChannel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_HIGH); // mChannel.setSound(Uri.parse(""), Notification.AUDIO_ATTRIBUTES_DEFAULT); -// mChannel.setShowBadge(true); -// mChannel.enableVibration(true); -// mChannel.setVibrationPattern(new long[]{100, 200, 300}); -// mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 + mChannel.setShowBadge(true); + mChannel.enableVibration(true); + mChannel.setVibrationPattern(new long[]{100, 200, 300}); + mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 notificationManager.createNotificationChannel(mChannel); builder = new Notification.Builder(mContext, id); } else { @@ -67,8 +64,8 @@ public Notification createKeepAlive() { Notification.Builder builder = createBuilder(); Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle("移动城管") - .setContentText("移动城管运行中") + builder.setContentTitle("智慧城管") + .setContentText("智慧城管运行中") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.app_logo) .setLargeIcon(bitmap); @@ -78,26 +75,6 @@ } /** - * 创建无动作的默认通知 - * - * @param title 通知标题 - * @param message 通知内容 - */ - public Notification createDefault(String title, String message) { - Notification.Builder builder = createBuilder(); - Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle(title) - .setContentText(message) - .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.normal_small) - .setLargeIcon(bitmap) - .setAutoCancel(true); - Notification notification = builder.build(); - notification.flags = Notification.FLAG_AUTO_CANCEL; - return notification; - } - - /** * 创建有动作的默认通知 * * @param title 通知标题 @@ -114,17 +91,11 @@ .setWhen(System.currentTimeMillis()) .setSmallIcon(R.drawable.normal_small) .setLargeIcon(bitmap) + .setDefaults(Notification.DEFAULT_ALL) + .setPriority(Notification.PRIORITY_MAX) //设置通知的优先级最高 .setContentIntent(PendingIntent.getActivity(mContext, 0, intent, 0)) .setAutoCancel(true); Notification notification = builder.build(); - int ringerMode = audioManager.getRingerMode(); - if (ringerMode == 1) { - notification.defaults |= Notification.DEFAULT_VIBRATE;// 震动 - notification.vibrate = new long[]{0, 100, 200, 300}; - } - if (ringerMode == 2) { - notification.defaults |= Notification.DEFAULT_SOUND;// 声音 - } notification.visibility = Notification.VISIBILITY_PUBLIC;//设置锁屏可见 notification.flags = Notification.FLAG_AUTO_CANCEL; return notification; diff --git a/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java b/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java index 57dbddf..8a7e333 100644 --- a/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java +++ b/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java @@ -5,7 +5,7 @@ public interface IDownloadListener { void onDownloadStart(long totalBytes); - void onProgressChanged(long sumBytes); + void onProgressChanged(long currentBytes); void onDownloadEnd(File file); } diff --git a/app/build.gradle b/app/build.gradle index bcfdc0d..3b94b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ applicationId "com.casic.dcms" minSdkVersion 21 targetSdkVersion 30 - versionCode 20 - versionName "v1.0.0.12" + versionCode 21 + versionName "v1.0.0.13" ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" } diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java index 6d0b03b..1a930d2 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/MinePageFragment.java @@ -3,7 +3,6 @@ import android.app.ProgressDialog; import android.content.ClipData; import android.content.ClipboardManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -14,8 +13,6 @@ import android.widget.Switch; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.core.content.FileProvider; import com.casic.dcms.BuildConfig; @@ -128,24 +125,6 @@ }); } - private void startSettingsActivity(@NonNull String packageName) { - Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); - startActivity(intent); - } - - private void startSettingsActivity(@NonNull String packageName, @NonNull String activityDir) { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(packageName, activityDir)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivityForResult(intent, 0); - } - - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - } - @OnClick({R.id.userNameLayout, R.id.passwordLayout, R.id.helpfulLayout, R.id.copyView, R.id.updateVersionView, R.id.loginOutButton}) @Override public void onClick(View v) { @@ -224,6 +203,10 @@ //下载新版本 progressDialog.setMessage("下载新版本中..."); progressDialog.show(); + if (progressDialog.getProgress() != 0) { + progressDialog.setProgress(0);//防止下载到中途却卡住无法再进行下载 + return; + } downloadApk(downloadUrl); } }).create().show(); @@ -237,16 +220,16 @@ @Override public void onDownloadStart(long totalBytes) { progressDialog.setMax((int) totalBytes); - progressDialog.show(); } @Override - public void onProgressChanged(long sumBytes) { - progressDialog.setProgress((int) sumBytes); + public void onProgressChanged(long currentBytes) { + progressDialog.setProgress((int) currentBytes); } @Override public void onDownloadEnd(File file) { + progressDialog.setProgress(0);//防止下载完成却卡住的情况 progressDialog.dismiss(); installApk(file); } diff --git a/app/src/main/java/com/casic/dcms/utils/FileUtils.java b/app/src/main/java/com/casic/dcms/utils/FileUtils.java index 3184d2c..6c69999 100644 --- a/app/src/main/java/com/casic/dcms/utils/FileUtils.java +++ b/app/src/main/java/com/casic/dcms/utils/FileUtils.java @@ -236,16 +236,16 @@ listener.onDownloadStart(total); File file = new File(savePath, url.substring(url.lastIndexOf("/") + 1)); fos = new FileOutputStream(file); - long sum = 0; + long current = 0; while ((len = is.read(buf)) != -1) { fos.write(buf, 0, len); - sum += len; - listener.onProgressChanged(sum); + current += len; + listener.onProgressChanged(current); } fos.flush(); listener.onDownloadEnd(file); } else { - Log.d(TAG, "onResponse: body is null"); + Log.e(TAG, "onResponse: body is null"); } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java index 0164146..cd3e026 100644 --- a/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/NotificationHelper.java @@ -9,7 +9,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.media.AudioManager; import android.os.Build; import com.casic.dcms.R; @@ -19,12 +18,10 @@ @SuppressLint("StaticFieldLeak") private static NotificationHelper notificationHelper; private NotificationManager notificationManager; - private AudioManager audioManager; private NotificationHelper(Context context) { this.mContext = context; notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); } /** @@ -49,10 +46,10 @@ String id = name + "_DefaultChannel"; NotificationChannel mChannel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_HIGH); // mChannel.setSound(Uri.parse(""), Notification.AUDIO_ATTRIBUTES_DEFAULT); -// mChannel.setShowBadge(true); -// mChannel.enableVibration(true); -// mChannel.setVibrationPattern(new long[]{100, 200, 300}); -// mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 + mChannel.setShowBadge(true); + mChannel.enableVibration(true); + mChannel.setVibrationPattern(new long[]{100, 200, 300}); + mChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);//设置锁屏可见 notificationManager.createNotificationChannel(mChannel); builder = new Notification.Builder(mContext, id); } else { @@ -67,8 +64,8 @@ public Notification createKeepAlive() { Notification.Builder builder = createBuilder(); Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle("移动城管") - .setContentText("移动城管运行中") + builder.setContentTitle("智慧城管") + .setContentText("智慧城管运行中") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.app_logo) .setLargeIcon(bitmap); @@ -78,26 +75,6 @@ } /** - * 创建无动作的默认通知 - * - * @param title 通知标题 - * @param message 通知内容 - */ - public Notification createDefault(String title, String message) { - Notification.Builder builder = createBuilder(); - Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.normal); - builder.setContentTitle(title) - .setContentText(message) - .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.normal_small) - .setLargeIcon(bitmap) - .setAutoCancel(true); - Notification notification = builder.build(); - notification.flags = Notification.FLAG_AUTO_CANCEL; - return notification; - } - - /** * 创建有动作的默认通知 * * @param title 通知标题 @@ -114,17 +91,11 @@ .setWhen(System.currentTimeMillis()) .setSmallIcon(R.drawable.normal_small) .setLargeIcon(bitmap) + .setDefaults(Notification.DEFAULT_ALL) + .setPriority(Notification.PRIORITY_MAX) //设置通知的优先级最高 .setContentIntent(PendingIntent.getActivity(mContext, 0, intent, 0)) .setAutoCancel(true); Notification notification = builder.build(); - int ringerMode = audioManager.getRingerMode(); - if (ringerMode == 1) { - notification.defaults |= Notification.DEFAULT_VIBRATE;// 震动 - notification.vibrate = new long[]{0, 100, 200, 300}; - } - if (ringerMode == 2) { - notification.defaults |= Notification.DEFAULT_SOUND;// 声音 - } notification.visibility = Notification.VISIBILITY_PUBLIC;//设置锁屏可见 notification.flags = Notification.FLAG_AUTO_CANCEL; return notification; diff --git a/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java b/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java index 57dbddf..8a7e333 100644 --- a/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java +++ b/app/src/main/java/com/casic/dcms/utils/callback/IDownloadListener.java @@ -5,7 +5,7 @@ public interface IDownloadListener { void onDownloadStart(long totalBytes); - void onProgressChanged(long sumBytes); + void onProgressChanged(long currentBytes); void onDownloadEnd(File file); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6e79a03..2849afe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - 移动城管 + 智慧城管 1.城管通程序安装完成后,在设置-省电管理-省电模式 选择"性能模式"。\n 2.点击设置-省电管理-耗电详情-受保护应用,选择“移动城管”应用为开启状态(受保护状态)。\n