diff --git a/app/build.gradle b/app/build.gradle index b9710e3b..2f1075e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,12 +5,12 @@ apply plugin: 'com.android.application' // sdk/build-tools/32.0.0]# ln -s d8 dx // sdk/build-tools/32.0.0/lib]# ln -s d8.jar dx.jar android { - compileSdkVersion 32 - buildToolsVersion "32.0.0" + compileSdkVersion 34 + buildToolsVersion "34.0.0" defaultConfig { applicationId "com.mkulesh.micromath.plus" minSdkVersion 14 - targetSdkVersion 32 + targetSdkVersion 34 versionCode 324 versionName "2.23.2" setProperty("archivesBaseName", "microMathematics-v" + versionName) diff --git a/app/src/main/assets/release_notes.mmt b/app/src/main/assets/release_notes.mmt old mode 100644 new mode 100755 index a1fffb19..9331cbad --- a/app/src/main/assets/release_notes.mmt +++ b/app/src/main/assets/release_notes.mmt @@ -4,6 +4,12 @@ + + + + + + diff --git a/app/src/main/java/com/mkulesh/micromath/MainActivity.java b/app/src/main/java/com/mkulesh/micromath/MainActivity.java index ed4f7ae3..aa005cd0 100644 --- a/app/src/main/java/com/mkulesh/micromath/MainActivity.java +++ b/app/src/main/java/com/mkulesh/micromath/MainActivity.java @@ -24,7 +24,6 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.os.Environment; import android.os.Parcelable; import android.view.Menu; import android.view.MenuItem; @@ -677,13 +676,9 @@ public boolean checkStoragePermission(int action) } storagePermissionAction = action; - if (CompatUtils.isROrLater() && CompatUtils.manageExternalStorage()) + if (CompatUtils.isROrLater()) { - if (storagePermissionDialog == null && !Environment.isExternalStorageManager()) - { - showPermissionDialog(action); - return false; - } + return true; } else if (CompatUtils.isMarshMallowOrLater()) { diff --git a/app/src/main/java/com/mkulesh/micromath/fman/AdapterHome.java b/app/src/main/java/com/mkulesh/micromath/fman/AdapterHome.java index ce362866..e8f0ad90 100644 --- a/app/src/main/java/com/mkulesh/micromath/fman/AdapterHome.java +++ b/app/src/main/java/com/mkulesh/micromath/fman/AdapterHome.java @@ -101,7 +101,7 @@ public void readSource(Uri tmp_uri, String pbod) items = null; ArrayList ia = new ArrayList<>(); - if (CompatUtils.manageExternalStorage()) + if (!CompatUtils.isROrLater()) { ia.add(makeItem(LOCAL, AdapterFileSystem.ORG_SCHEME)); diff --git a/app/src/main/java/com/mkulesh/micromath/utils/CompatUtils.java b/app/src/main/java/com/mkulesh/micromath/utils/CompatUtils.java index 9f2e8402..958519ee 100644 --- a/app/src/main/java/com/mkulesh/micromath/utils/CompatUtils.java +++ b/app/src/main/java/com/mkulesh/micromath/utils/CompatUtils.java @@ -19,11 +19,9 @@ import android.content.Intent; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; -import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Environment; -import android.provider.Settings; import android.util.TypedValue; import android.view.View; import android.widget.ImageView; @@ -48,13 +46,6 @@ @SuppressLint("NewApi") public class CompatUtils { - public static boolean manageExternalStorage() - { - // Processing of permission: - // - return !isROrLater(); - } - public static boolean isMarshMallowOrLater() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; @@ -266,19 +257,9 @@ public static File getStorageFile(final @NonNull Context context, final @NonNull public static void requestStoragePermission(AppCompatActivity a, int reqId) { - if (isROrLater() && manageExternalStorage()) + if (isROrLater()) { - ViewUtils.Debug(a, "requesting storage permissions for Android R"); - Intent in = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); - in.setData(Uri.parse("package:" + a.getApplicationContext().getPackageName())); - try - { - a.startActivity(in); - } - catch (Exception e) - { - ViewUtils.Debug(a, "requesting storage permissions failed: " + e.getLocalizedMessage()); - } + // nothing to do } else if (isMarshMallowOrLater()) { diff --git a/app/src/main/res/layout/dialog_base.xml b/app/src/main/res/layout/dialog_base.xml index f3107b3d..54a27cae 100644 --- a/app/src/main/res/layout/dialog_base.xml +++ b/app/src/main/res/layout/dialog_base.xml @@ -75,11 +75,11 @@ android:orientation="horizontal" > + android:drawableLeft="@drawable/ic_action_navigation_cancel" + android:text="@string/dialog_navigation_cancel" /> + android:drawableLeft="@drawable/ic_action_navigation_accept" + android:text="@string/dialog_navigation_accept" /> + diff --git a/autotest/run-emulator.sh b/autotest/run-emulator.sh index 2ae45eaf..2127d14d 100755 --- a/autotest/run-emulator.sh +++ b/autotest/run-emulator.sh @@ -10,6 +10,7 @@ setenv APK_FILE ${2} setenv APK_DATA ${3} setenv APK_FLAG ${4} +setenv EMU_FLAG ${5} setenv TOOLS_PATH ${ANDROID_HOME}/tools setenv EMU_PORT 5558 @@ -17,27 +18,26 @@ setenv DEVICE_NAME emulator-${EMU_PORT} setenv ADB_CMD "adb -s ${DEVICE_NAME}" echo ================================================================================ -echo Starting ${EMU_NAME} on port ${EMU_PORT}... +echo Starting ${EMU_NAME} on port ${EMU_PORT} with flag ${EMU_FLAG}... echo ================================================================================ adb kill-server adb start-server -${ANDROID_HOME}/emulator/emulator -avd ${EMU_NAME} -no-boot-anim -port ${EMU_PORT} & +${ANDROID_HOME}/emulator/emulator ${EMU_FLAG} -no-snapshot -avd ${EMU_NAME} -no-boot-anim -port ${EMU_PORT} & -# waiting until boot_completed +echo Waiting until boot is completed... while ("`${ADB_CMD} wait-for-device shell getprop sys.boot_completed | tr -d '\r' `" != "1") sleep 1 end -sleep 1 +sleep 10 # actual device -adb devices -adb root +${ADB_CMD} root echo Uninstalling ${APK_PACK}... ${ADB_CMD} uninstall ${APK_PACK} ${ADB_CMD} shell pm list packages | grep ${APK_PACK} -echo Installing ${APK_FILE}... +echo Installing ${APK_FILE} with flag ${APK_FLAG}... ${ADB_CMD} install -r ${APK_FLAG} ${APK_FILE} ${ADB_CMD} shell pm list packages | grep ${APK_PACK} diff --git a/autotest/run-session.sh b/autotest/run-session.sh index bdcabaae..b000628b 100755 --- a/autotest/run-session.sh +++ b/autotest/run-session.sh @@ -20,9 +20,11 @@ echo APK to be tested: ${1} ./run-emulator.sh android_8.1.0 ${1} /sdcard/Android/data -g ./run-emulator.sh android_9.0.0 ${1} /sdcard/Android/data -g ./run-emulator.sh android_10.0.0 ${1} /sdcard/Android/data -g -./run-emulator.sh android_11.0.0 ${1} /data/user/0 -g -./run-emulator.sh android_12.0.0 ${1} /data/user/0 -g -./run-emulator.sh android_12.1.0 ${1} /data/user/0 -g +./run-emulator.sh android_11.0.0 ${1} /data/user/0 -g -delay-adb +./run-emulator.sh android_12.0.0 ${1} /data/user/0 -g -delay-adb +./run-emulator.sh android_12.1.0 ${1} /data/user/0 -g -delay-adb +./run-emulator.sh android_13.0.0 ${1} /data/user/0 -g -delay-adb +./run-emulator.sh android_14.0.0 ${1} /data/user/0 -g -delay-adb firefox *.html diff --git a/build.gradle b/build.gradle index 5fb2557b..dae3fd10 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { //noinspection AndroidGradlePluginVersion - classpath 'com.android.tools.build:gradle:4.2.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } allprojects { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index be4c4703..ce8bc2f7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip