From 4d2d0b42973e82a88bee26b8c6fa2d7f8a647aa1 Mon Sep 17 00:00:00 2001 From: asuraliu Date: Fri, 19 Jul 2024 14:51:29 +0800 Subject: [PATCH 1/2] 1. Update targetAPI to 34 and adapt to Android 14; 2. Fix Notification bugs. --- app/build.gradle | 16 ++-- app/src/main/AndroidManifest.xml | 4 +- .../model/NotificationMonitor.java | 33 ++++--- .../service/MonitoringService.java | 30 ++++--- .../ratul/topactivity/ui/MainActivity.java | 88 +++++++++++++++---- .../ratul/topactivity/utils/WindowUtil.java | 4 +- build.gradle | 2 +- gradle.properties | 3 + gradle/wrapper/gradle-wrapper.properties | 2 +- 9 files changed, 121 insertions(+), 61 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6afec5a..6ce7b31 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,11 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 32 + namespace 'io.github.ratul.topactivity' + compileSdkVersion 34 + buildToolsVersion '34.0.0' defaultConfig { applicationId "io.github.ratul.topactivity" minSdkVersion 24 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 18 versionName "1.5.8" } @@ -27,9 +29,9 @@ android { } dependencies { - implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'com.google.android.material:material:1.6.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' - implementation 'androidx.preference:preference:1.2.0' - implementation 'androidx.core:core:1.7.0' + implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'com.google.android.material:material:1.12.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.preference:preference:1.2.1' + implementation 'androidx.core:core:1.13.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f6a09fe..113c201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,12 +1,12 @@ - + + diff --git a/app/src/main/java/io/github/ratul/topactivity/model/NotificationMonitor.java b/app/src/main/java/io/github/ratul/topactivity/model/NotificationMonitor.java index 65ee793..97b1c7e 100644 --- a/app/src/main/java/io/github/ratul/topactivity/model/NotificationMonitor.java +++ b/app/src/main/java/io/github/ratul/topactivity/model/NotificationMonitor.java @@ -16,27 +16,21 @@ */ package io.github.ratul.topactivity.model; -import android.app.ActivityManager; +import android.app.Notification; +import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; -import android.app.NotificationChannel; import android.app.TaskStackBuilder; -import android.app.Notification; -import android.graphics.Color; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Build; -import android.widget.Toast; - -import java.util.List; -import java.lang.reflect.AnnotatedElement; -import io.github.ratul.topactivity.utils.DatabaseUtil; import io.github.ratul.topactivity.R; +import io.github.ratul.topactivity.service.QuickSettingsTileService; import io.github.ratul.topactivity.ui.MainActivity; +import io.github.ratul.topactivity.utils.DatabaseUtil; import io.github.ratul.topactivity.utils.WindowUtil; -import io.github.ratul.topactivity.service.QuickSettingsTileService; /** * Created by Ratul on 04/05/2022. @@ -58,13 +52,19 @@ public static void showNotification(Context context, boolean isPaused) { TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(intent); - PendingIntent pIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); + int flag; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + flag = PendingIntent.FLAG_IMMUTABLE; + } else { + flag = PendingIntent.FLAG_UPDATE_CURRENT; + } + PendingIntent pIntent = stackBuilder.getPendingIntent(0, flag); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { String CHANNEL_ID = context.getPackageName() + "_channel_007"; CharSequence name = "Activity Info"; - NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_MAX); + NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_DEFAULT); mChannel.setDescription("Shows current activity info"); mChannel.enableLights(false); mChannel.enableVibration(false); @@ -72,8 +72,7 @@ public static void showNotification(Context context, boolean isPaused) { notifManager.createNotificationChannel(mChannel); builder = new Notification.Builder(context, CHANNEL_ID); - } - else { + } else { builder = new Notification.Builder(context); } @@ -86,8 +85,8 @@ public static void showNotification(Context context, boolean isPaused) { .setAutoCancel(true) .setContentIntent(pIntent); - builder.addAction(R.drawable.ic_launcher_foreground, context.getString(R.string.noti_action_stop), - getPendingIntent(context, ACTION_STOP)).setContentIntent(pIntent); +// builder.addAction(R.drawable.ic_launcher_foreground, context.getString(R.string.noti_action_stop), +// getPendingIntent(context, ACTION_STOP)).setContentIntent(pIntent); notifManager.notify(NOTIFICATION_ID, builder.build()); } @@ -95,7 +94,7 @@ public static void showNotification(Context context, boolean isPaused) { public static PendingIntent getPendingIntent(Context context, int command) { Intent intent = new Intent("io.github.ratul.topactivity.ACTION_NOTIFICATION_RECEIVER"); intent.putExtra(EXTRA_NOTIFICATION_ACTION, command); - return PendingIntent.getBroadcast(context, 0, intent, 0); + return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE); } public static void cancelNotification(Context context) { diff --git a/app/src/main/java/io/github/ratul/topactivity/service/MonitoringService.java b/app/src/main/java/io/github/ratul/topactivity/service/MonitoringService.java index 69e7585..c55a382 100644 --- a/app/src/main/java/io/github/ratul/topactivity/service/MonitoringService.java +++ b/app/src/main/java/io/github/ratul/topactivity/service/MonitoringService.java @@ -16,17 +16,17 @@ */ package io.github.ratul.topactivity.service; -import android.annotation.*; -import android.app.*; -import android.app.ActivityManager.*; -import android.content.*; -import android.content.pm.*; -import android.os.*; -import android.util.*; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.app.Service; +import android.app.usage.UsageEvents; +import android.app.usage.UsageStatsManager; +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import android.os.IBinder; +import android.os.SystemClock; -import java.util.*; -import android.app.usage.*; -import android.widget.Toast; import io.github.ratul.topactivity.utils.DatabaseUtil; import io.github.ratul.topactivity.utils.WindowUtil; @@ -94,9 +94,16 @@ public void run() { MonitoringService.INSTANCE.stopSelf(); } + String preText = MonitoringService.INSTANCE.text; + String preText1 = MonitoringService.INSTANCE.text1; getActivityInfo(); if (MonitoringService.INSTANCE.text == null) return; + if (preText != null && preText.equals(MonitoringService.INSTANCE.text) + && preText1 != null && preText1.equals(MonitoringService.INSTANCE.text1)) { + // not change, return + return; + } MonitoringService.INSTANCE.firstRun = false; if (DatabaseUtil.isShowWindow()) { @@ -113,14 +120,13 @@ public void run() { return super.onStartCommand(intent, flags, startId); } - @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) @Override public void onTaskRemoved(Intent rootIntent) { Intent restartServiceIntent = new Intent(getApplicationContext(), this.getClass()); restartServiceIntent.setPackage(getPackageName()); PendingIntent restartServicePendingIntent = PendingIntent.getService(getApplicationContext(), 1, - restartServiceIntent, PendingIntent.FLAG_ONE_SHOT); + restartServiceIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE); alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 500, restartServicePendingIntent); diff --git a/app/src/main/java/io/github/ratul/topactivity/ui/MainActivity.java b/app/src/main/java/io/github/ratul/topactivity/ui/MainActivity.java index f300737..1b2b612 100644 --- a/app/src/main/java/io/github/ratul/topactivity/ui/MainActivity.java +++ b/app/src/main/java/io/github/ratul/topactivity/ui/MainActivity.java @@ -16,37 +16,60 @@ */ package io.github.ratul.topactivity.ui; -import android.app.*; -import android.content.*; +import android.Manifest; +import android.app.Activity; +import android.app.AppOpsManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.PackageManager; +import android.graphics.Insets; import android.net.Uri; -import android.os.*; -import android.provider.*; -import android.view.*; -import android.widget.*; +import android.os.Build; +import android.os.Bundle; +import android.provider.Settings; +import android.text.Spannable; +import android.text.SpannableString; +import android.util.DisplayMetrics; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.WindowInsets; +import android.view.WindowMetrics; +import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; -import android.app.*; +import android.widget.Toast; + +import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; -import android.content.pm.*; -import android.graphics.drawable.*; -import android.graphics.*; -import android.text.*; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; + import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.switchmaterial.SwitchMaterial; -import java.util.List; -import io.github.ratul.topactivity.*; -import io.github.ratul.topactivity.utils.*; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; + +import io.github.ratul.topactivity.App; +import io.github.ratul.topactivity.R; import io.github.ratul.topactivity.model.NotificationMonitor; -import io.github.ratul.topactivity.service.*; import io.github.ratul.topactivity.model.TypefaceSpan; -import java.io.*; -import android.util.DisplayMetrics; +import io.github.ratul.topactivity.service.AccessibilityMonitoringService; +import io.github.ratul.topactivity.service.MonitoringService; +import io.github.ratul.topactivity.utils.DatabaseUtil; +import io.github.ratul.topactivity.utils.WindowUtil; /** * Created by Wen on 16/02/2017. * Refactored by Ratul on 04/05/2022. */ public class MainActivity extends AppCompatActivity { + public static final int REQUEST_CODE_NOTIFICATION = 100; public static final String EXTRA_FROM_QS_TILE = "from_qs_tile"; public static final String ACTION_STATE_CHANGED = "io.github.ratul.topactivity.ACTION_STATE_CHANGED"; private SwitchMaterial mWindowSwitch, mNotificationSwitch, mAccessibilitySwitch; @@ -86,7 +109,7 @@ public void onClick(DialogInterface di, int btn) { } mReceiver = new UpdateSwitchReceiver(); - registerReceiver(mReceiver, new IntentFilter(ACTION_STATE_CHANGED)); + ContextCompat.registerReceiver(this, mReceiver, new IntentFilter(ACTION_STATE_CHANGED), ContextCompat.RECEIVER_NOT_EXPORTED); mNotificationSwitch.setOnCheckedChangeListener(new SwitchMaterial.OnCheckedChangeListener() { @Override @@ -105,7 +128,7 @@ public void onCheckedChanged(CompoundButton button, boolean isChecked) { mWindowSwitch.setOnCheckedChangeListener(new SwitchMaterial.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton button, boolean isChecked) { - if (Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(MainActivity.this)) { + if (!Settings.canDrawOverlays(MainActivity.this)) { fancy.setTitle("Overlay Permission") .setMessage("Please enable overlay permission to show window over other apps") .setPositiveButton("Settings", new DialogInterface.OnClickListener() { @@ -181,6 +204,33 @@ protected void onNewIntent(Intent intent) { } } + @Override + protected void onStart() { + super.onStart(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && !mNotificationSwitch.isChecked()) { + if (checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) { + requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, REQUEST_CODE_NOTIFICATION); + } + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == REQUEST_CODE_NOTIFICATION) { + if (grantResults[0] == PackageManager.PERMISSION_DENIED) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU + && shouldShowRequestPermissionRationale(Manifest.permission.POST_NOTIFICATIONS)) { + requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, REQUEST_CODE_NOTIFICATION); + } else { + showToast("POST_NOTIFICATIONS Permission Denied", Toast.LENGTH_SHORT); + } + } else { + showToast("POST_NOTIFICATIONS Permission Granted", Toast.LENGTH_SHORT); + } + } + } + @Override protected void onResume() { super.onResume(); diff --git a/app/src/main/java/io/github/ratul/topactivity/utils/WindowUtil.java b/app/src/main/java/io/github/ratul/topactivity/utils/WindowUtil.java index 80bfb32..e797c92 100644 --- a/app/src/main/java/io/github/ratul/topactivity/utils/WindowUtil.java +++ b/app/src/main/java/io/github/ratul/topactivity/utils/WindowUtil.java @@ -177,8 +177,8 @@ public static void show(Context context, String pkg, String clas) { } if (NotificationMonitor.builder != null) { - NotificationMonitor.builder.setContentTitle(text); - NotificationMonitor.builder.setContentText(text1); + NotificationMonitor.builder.setContentTitle(pkg); + NotificationMonitor.builder.setContentText(clas); NotificationMonitor.notifManager.notify(NotificationMonitor.NOTIFICATION_ID, NotificationMonitor.builder.build()); } diff --git a/build.gradle b/build.gradle index 9c32f2d..95baea5 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.4.2' } } diff --git a/gradle.properties b/gradle.properties index 079df3f..17bec0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,3 +18,6 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true android.R8=true android.enableJetifier=true +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 174aad7..750ebbe 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Aug 30 15:20:07 CST 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME From 3a36983639979684a0520f0ad83a2e3a2cb710e6 Mon Sep 17 00:00:00 2001 From: asuraliu Date: Fri, 19 Jul 2024 14:58:12 +0800 Subject: [PATCH 2/2] Upgrade Version to 1.5.9:Supported Android 14+ and fix bugs --- README.md | 4 ++-- app/build.gradle | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dd15b75..b82c460 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ An useful tool for Android Developers & Reversers, which shows the package n


-[![App](https://img.shields.io/badge/Current%20Activity-1.5.8-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAxLjUpIj48cG9seWxpbmUgcG9pbnRzPSI1LjI0NSAxMy4yODEgOC4yMzggOS4zOTEgMTEuNjUyIDEyLjA3MyAxNC41ODEgOC4yOTMiLz48Y2lyY2xlIGN4PSIxNy45OTUiIGN5PSIyLjciIHI9IjEuOTIyIi8+PHBhdGggZD0iTTEyLjkyNDQ4NTIsMS42MjAxMzczMSBMNS42NTY3NTA2LDEuNjIwMTM3MzEgQzIuNjQ1MzA4OTQsMS42MjAxMzczMSAwLjc3ODAzMjA0MSwzLjc1Mjg2MDQzIDAuNzc4MDMyMDQxLDYuNzY0MzAyMDkgTDAuNzc4MDMyMDQxLDE0Ljg0NjY4MiBDMC43NzgwMzIwNDEsMTcuODU4MTIzNyAyLjYwODY5NTY3LDE5Ljk4MTY5MzUgNS42NTY3NTA2LDE5Ljk4MTY5MzUgTDE0LjI2MDg2OTYsMTkuOTgxNjkzNSBDMTcuMjcyMzExMywxOS45ODE2OTM1IDE5LjEzOTU4ODIsMTcuODU4MTIzNyAxOS4xMzk1ODgyLDE0Ljg0NjY4MiBMMTkuMTM5NTg4Miw3LjgwNzc4MDM2Ii8+PC9nPjwvc3ZnPg==)](https://github.com/RatulHasan8/Current-Activity/releases/tag/app-n-source) -[![SDK](https://img.shields.io/badge/Android-5.0%20and%20up-brightgreen?logo=android&logoColor=white)](https://github.com/RatulHasan8/Current-Activity/releases/tag/app-n-source) +[![App](https://img.shields.io/badge/Current%20Activity-1.5.9-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAxLjUpIj48cG9seWxpbmUgcG9pbnRzPSI1LjI0NSAxMy4yODEgOC4yMzggOS4zOTEgMTEuNjUyIDEyLjA3MyAxNC41ODEgOC4yOTMiLz48Y2lyY2xlIGN4PSIxNy45OTUiIGN5PSIyLjciIHI9IjEuOTIyIi8+PHBhdGggZD0iTTEyLjkyNDQ4NTIsMS42MjAxMzczMSBMNS42NTY3NTA2LDEuNjIwMTM3MzEgQzIuNjQ1MzA4OTQsMS42MjAxMzczMSAwLjc3ODAzMjA0MSwzLjc1Mjg2MDQzIDAuNzc4MDMyMDQxLDYuNzY0MzAyMDkgTDAuNzc4MDMyMDQxLDE0Ljg0NjY4MiBDMC43NzgwMzIwNDEsMTcuODU4MTIzNyAyLjYwODY5NTY3LDE5Ljk4MTY5MzUgNS42NTY3NTA2LDE5Ljk4MTY5MzUgTDE0LjI2MDg2OTYsMTkuOTgxNjkzNSBDMTcuMjcyMzExMywxOS45ODE2OTM1IDE5LjEzOTU4ODIsMTcuODU4MTIzNyAxOS4xMzk1ODgyLDE0Ljg0NjY4MiBMMTkuMTM5NTg4Miw3LjgwNzc4MDM2Ii8+PC9nPjwvc3ZnPg==)](https://github.com/RatulHasan8/Current-Activity/releases/tag/app-n-source) +[![SDK](https://img.shields.io/badge/Android-7.0%20to%2014up-brightgreen?logo=android&logoColor=white)](https://github.com/RatulHasan8/Current-Activity/releases/tag/app-n-source) [![License](https://img.shields.io/badge/License-GPL-red?logo=gnu&logoColor=white)](./LICENSE) [![Maintenance](https://img.shields.io/badge/Maintained-Yes-green?logo=data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FwYV8xIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIuMjYgNTEyLjI2IiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNiA1MTIuMjYiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0ibTM3MC4xMTkgMjgwLjYzNS0zNC4xMzkgMzQuMTM5LTM0LjE3NS0zNC4xNzUgODEuOTk2LTgxLjk5NmM5LjAxNCAyLjUzOCAxOC4yMTYgMy43NzkgMjcuMzY2IDMuNzc4IDI2LjMyOS0uMDAyIDUyLjE3OS0xMC4yODkgNzEuNDkxLTI5LjYwMSAyOC40MDctMjguNDA3IDM3LjI4OC03MC45NDggMjIuNjI2LTEwOC4zNzhsLTguMzYyLTIxLjM0OC01My42NjcgNTMuNjY4LTIxLjY2OS01LjgwNy01LjgwNy0yMS42NyA1My42NjYtNTMuNjY3LTIxLjM0NS04LjM2MWMtMzcuNDI3LTE0LjY2LTc5Ljk2OS01Ljc4LTEwOC4zNzggMjIuNjI3LTI2LjAyMyAyNi4wMjMtMzUuNjYgNjMuOTA2LTI1LjgyMiA5OC44NTZsLTgxLjk5NiA4MS45OTYtMTEwLjEwOS0xMTAuMTA5IDI5LjIxMy0yOS4yMTItOTAuNTQ1LTcxLjM2OS02MC40NjMgNjAuNDYyIDcxLjM2OCA5MC41NDYgMjkuMjE0LTI5LjIxMyAxMTAuMTA5IDExMC4xMDktNzIuMzg0IDcyLjM4NGMtMzcuNTkyLTExLjc3Ni03OC42MDUtMS45MzgtMTA2LjkgMjYuMzU3LTIwLjA5MyAyMC4wOTMtMzEuMTU5IDQ2LjgwOC0zMS4xNTkgNzUuMjIzczExLjA2NiA1NS4xMyAzMS4xNTkgNzUuMjIzYzIwLjczOSAyMC43MzkgNDcuOTggMzEuMTA4IDc1LjIyMyAzMS4xMDggMjcuMjQyIDAgNTQuNDg0LTEwLjM2OSA3NS4yMjMtMzEuMTA4IDI4LjI5NS0yOC4yOTUgMzguMTMzLTY5LjMwOSAyNi4zNTctMTA2LjlsNzIuMzg0LTcyLjM4NCAzNC4xNzUgMzQuMTc1LTM0LjEzOSAzNC4xMzkgMTIzLjU5MyAxMjMuNTkzYzExLjk1MiAxMS45NTIgMjcuODQzIDE4LjUzNCA0NC43NDYgMTguNTM0IDE2LjkwMiAwIDMyLjc5My02LjU4MiA0NC43NDUtMTguNTM0IDI0LjY3Mi0yNC42NzMgMjQuNjcyLTY0LjgxNyAwLTg5LjQ5em0tMzMwLjA1Ni0yMTcuODAyIDIyLjc2NS0yMi43NjUgNDMuMDkzIDMzLjk2Ny0zMS44OTEgMzEuODkxem0zMDguNTQ2IDczLjU4NC0zLjU4LTkuMTM5Yy0xMC4zMTMtMjYuMzI2LTQuMDctNTYuMjQ1IDE1LjkwNi03Ni4yMjIgMTMuODU5LTEzLjg1OCAzMi40OTctMjEuMTAzIDUxLjQxMi0yMC44MDVsLTMwLjAyOCAzMC4wMjkgMTQuNzcyIDU1LjEyOSA1NS4xMyAxNC43NzMgMzAuMDI3LTMwLjAyOGMuMzAzIDE4LjkxLTYuOTQ2IDM3LjU1NC0yMC44MDQgNTEuNDEyLTE5Ljk3NyAxOS45NzUtNDkuODk1IDI2LjIyLTc2LjIyMiAxNS45MDVsLTkuMTM4LTMuNTc5LTk1LjQ5MiA5NS40OTItMjcuNDc2LTI3LjQ3NnptLTE3NS41MDggMjMwLjQ2IDMuOTE4IDkuMjk4YzEyLjEyNiAyOC43NzQgNS42OTYgNjEuNjMyLTE2LjM4IDgzLjcwOC0xNC44OTMgMTQuODkyLTM0LjQ0OCAyMi4zMzctNTQuMDEgMjIuMzM1LTE5LjU1Ny0uMDAxLTM5LjEyMS03LjQ0Ni01NC4wMS0yMi4zMzUtMTQuNDI2LTE0LjQyNy0yMi4zNzItMzMuNjA3LTIyLjM3Mi01NC4wMXM3Ljk0NS0zOS41ODMgMjIuMzcyLTU0LjAxYzE0LjY3LTE0LjY2OSAzNC4wOTQtMjIuNDI5IDUzLjkyMy0yMi40MjkgMTAuMDEyIDAgMjAuMTMgMS45OCAyOS43ODQgNi4wNDlsOS4yOTggMy45MTggODYuMjc5LTg2LjI3OSAyNy40NzYgMjcuNDc2em0xOTcuMDE4LTQzLjgxNyAyNy40NzcgMjcuNDc3LTQ3LjA2NCA0Ny4wNjQtMjcuNDc2LTI3LjQ3NnptMTAyLjM4MiAxNDkuNDQ3Yy02LjI4NiA2LjI4NS0xNC42NDMgOS43NDctMjMuNTMyIDkuNzQ3cy0xNy4yNDctMy40NjItMjMuNTMyLTkuNzQ3bC01My42OTItNTMuNjkyIDQ3LjA2NC00Ny4wNjQgNTMuNjkyIDUzLjY5MmMxMi45NzUgMTIuOTc1IDEyLjk3NSAzNC4wODggMCA0Ny4wNjR6Ii8+PHBhdGggZD0ibTEwNi42MjkgMzU2LjQ0NGMtMTMuMjAzIDAtMjUuNjE2IDUuMTQyLTM0Ljk1MSAxNC40NzgtOS4zMzYgOS4zMzYtMTQuNDc4IDIxLjc0OC0xNC40NzggMzQuOTUxczUuMTQyIDI1LjYxNSAxNC40NzcgMzQuOTUxYzkuMzM2IDkuMzM2IDIxLjc0OSAxNC40NzggMzQuOTUyIDE0LjQ3OHMyNS42MTUtNS4xNDIgMzQuOTUyLTE0LjQ3OGMxOS4yNzEtMTkuMjcyIDE5LjI3MS01MC42MzEgMC02OS45MDItOS4zMzYtOS4zMzYtMjEuNzQ5LTE0LjQ3OC0zNC45NTItMTQuNDc4em0xMy43MzkgNjMuMTY3Yy0zLjY3IDMuNjY5LTguNTQ5IDUuNjktMTMuNzM4IDUuNjktNS4xOSAwLTEwLjA2OC0yLjAyMS0xMy43MzgtNS42OS0zLjY2OS0zLjY3LTUuNjktOC41NDktNS42OS0xMy43MzhzMi4wMjEtMTAuMDY4IDUuNjkxLTEzLjczOGMzLjY2OS0zLjY3IDguNTQ4LTUuNjkgMTMuNzM4LTUuNjkgNS4xODkgMCAxMC4wNjggMi4wMjEgMTMuNzM4IDUuNjkgNy41NzMgNy41NzUgNy41NzMgMTkuOTAxLS4wMDEgMjcuNDc2eiIvPjwvZz48L3N2Zz4=)](https://github.com/ratsan/Current-Activity/graphs/commit-activity) [![Contributions](https://img.shields.io/badge/Contributions-Open-yellow?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAARqSURBVHic7ZvNa11FGMZ/bxJjPzQNpoKi0WoXRaogrS26MfYDxWq14KaCuHIhooJu1H9AxU0RFaQgRYugoESMaDVKExBUrNKNsSVImraCVG1rrYoN8rg4701OT+bcxJsz5yTmPBDuzDvvzH3myXzPXKhRo0aNRQybyUGSAb3ApfHpFIoTwHEzUzOnXAEkLQWeBB4GriyWW2k4BrwK7DKzv0IOQQEkrQQ+Am6Kx61UfA3caWa/ZhOmCeBN/jNgk5tGgJeBI8BEPI6F4gJgFfAYcJ3bBs3s9hlzStqhKbwraUk8nnEhaYmk/lR9ts8m01vufFLSJSXwjApJPZJOeZ3ezKa3BfI0msyQmZ2MSy8+vN8Pe3RtNj0kQJd//haLVAU45Z8rsgkhARYVagGqJlA1agGqJlA1OpqkrZf0fGlM4mJ9XkIzAW7wv/81mglwDvijLCKRsRzonJWnpDFfNu6Jy6k8SNrjdRrLpi36QbAWoGoCVaMWoGoCMLlnr4RL5QJIupfkBPfDKr6/cgGAB0h4TDusKAOVCuAHsLd59PMqOEQVQFKbpDVe0RCuB1Z6eH8m71VlHMhGE8DJDwCHgOdy3DalwpMCSLoPGAcOSLo8FkeIJIDfKr0PbHPTxTmuDQGOm9loyt44l1wLDEm6oniWOZjrXkDSMkmDqbP4YUkXBfzaJP3iPm9k0kzSS6kyxiRdM4c6lbMXkLScpNlvddMwcJeZnQ243wj0ePi8/u8Xmo8DL7ppFbBf0rVF8oUCBfDKfwBsdtM+kvu4UOUhp/834CI8Aexy09UkIqwuhnEOWukCfgX1RarJDki6cIY8A3nNMuD7Qqrso5L+0211GV1gA3Czh08DD5rZ300IdQC3enTafz+Ap4CDHu4FdrTIcxqKEuBLYNDD3UB/aOBLYR1TI/1Qs4J9j7CbZMwAOAy83TLTDAoRwMwmgO0kUx9AH/CxpK6cLOn+P5RXrqR24DXgITcdBjab2c9zItwMc5kGJXXq/OvoAwrcMEva5+mjoXLcp13S66myRtTioqjZGBByblkAz9+p5F1BA99I6kmld0g642m7c8pol7Q3VcZBSS2/USpjEJyEmZ0DdgLvuGkd8GzKZSNTK8O8AfARkl0iwLfAlljNPspS2MeE+4G9bhpPJc+m/x8B/iEZXLeG3vZEw1y7QKC8rkz8Uy//+xnydfsgWASH3C7Q7GKkEJjZmRSRTuAWjzad/83sdExeDZR9ILIBWObh2SyAoiN6C8jgBPAncJaphVOlKFUAMxuV1AtMmNnvZX53HspuAcy3l2fz4VS4UtQCBGyNaau7TCKR0diPTHv7GBJgxD/70mv4hQolL9/7PPrdbDLck9qE9GthP5ZeKum9VH3uzvrkPZcfBLa46RDwCvADC+u5/GrgUWCN2z4xszuyjnk/mOghuazcGIthyfgK2BaagoOzgO+++oBngKNxuUXFOPA00Je3/pjxR1MASm5mLiuQWBn4ycx+rJpEjRo1asxr/As8TL5578cVOwAAAABJRU5ErkJggg==)](https://github.com/ratsan/Current-Activity/pulls) diff --git a/app/build.gradle b/app/build.gradle index 6ce7b31..2679dfc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "io.github.ratul.topactivity" minSdkVersion 24 targetSdkVersion 34 - versionCode 18 - versionName "1.5.8" + versionCode 19 + versionName "1.5.9" } buildTypes {