From 4cfdcb0f955805712564d5705c0cc0c7b2938822 Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Tue, 12 Aug 2025 17:23:13 +0200 Subject: [PATCH] fix display issues with edge-to-edge when choosing file location; make file chooser look more modern --- src/java/JavaFileStorage/app/build.gradle | 4 +- src/java/JavaFileStorage/gradle.properties | 1 + .../JavaFileStorageTest-AS/app/build.gradle | 5 ++- .../javafilestoragetest2/MainActivity.java | 6 +-- .../android-filechooser-AS/app/build.gradle | 5 ++- .../ui/filechooser/FileChooserActivity.java | 3 ++ .../lib/ui/filechooser/FragmentFiles.java | 17 ++++++++ .../afc_selector_button_ok_saveas_dark.xml | 4 +- .../afc_selector_button_ok_saveas_light.xml | 4 +- .../afc_selector_main_button_navi_left.xml | 16 ++++++++ ...fc_selector_main_button_navi_left_dark.xml | 15 ------- ...c_selector_main_button_navi_left_light.xml | 15 ------- .../afc_selector_main_button_navi_right.xml | 10 +++++ ...c_selector_main_button_navi_right_dark.xml | 15 ------- ..._selector_main_button_navi_right_light.xml | 15 ------- .../res/drawable/baseline_chevron_left_24.xml | 8 ++++ .../baseline_chevron_left_24_alpha30.xml | 8 ++++ .../drawable/baseline_chevron_right_24.xml | 8 ++++ .../baseline_chevron_right_24_alpha30.xml | 8 ++++ .../app/src/main/res/drawable/save_icon.xml | 8 ++++ .../app/src/main/res/layout/afc_file_item.xml | 11 ++--- .../main/res/layout/afc_fragment_files.xml | 17 ++------ .../main/res/layout/afc_listview_files.xml | 2 + .../app/src/main/res/values-v30/themes.xml | 21 ++++++++++ .../app/src/main/res/values/themes.xml | 40 ++++++++----------- .../app/src/main/res/values/themes_dark.xml | 20 ++++------ .../app/src/main/res/values/themes_light.xml | 20 ++++------ .../Resources/layout/create_database.xml | 1 + 28 files changed, 164 insertions(+), 143 deletions(-) create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left.xml delete mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_dark.xml delete mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_light.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right.xml delete mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_dark.xml delete mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_light.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24_alpha30.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24_alpha30.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/drawable/save_icon.xml create mode 100644 src/java/android-filechooser-AS/app/src/main/res/values-v30/themes.xml diff --git a/src/java/JavaFileStorage/app/build.gradle b/src/java/JavaFileStorage/app/build.gradle index b9a0c720..04d45c93 100644 --- a/src/java/JavaFileStorage/app/build.gradle +++ b/src/java/JavaFileStorage/app/build.gradle @@ -6,8 +6,8 @@ android { defaultConfig { minSdkVersion 21 - targetSdkVersion 33 - compileSdk 34 + targetSdkVersion 35 + compileSdk 35 } buildTypes { release { diff --git a/src/java/JavaFileStorage/gradle.properties b/src/java/JavaFileStorage/gradle.properties index 5e2afb41..0ba7acf7 100644 --- a/src/java/JavaFileStorage/gradle.properties +++ b/src/java/JavaFileStorage/gradle.properties @@ -1,2 +1,3 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true +android.jetifier.ignorelist = jsch-2.27.2.jar \ No newline at end of file diff --git a/src/java/JavaFileStorageTest-AS/app/build.gradle b/src/java/JavaFileStorageTest-AS/app/build.gradle index 5df7e157..68d9e4fc 100644 --- a/src/java/JavaFileStorageTest-AS/app/build.gradle +++ b/src/java/JavaFileStorageTest-AS/app/build.gradle @@ -3,12 +3,12 @@ apply plugin: 'com.android.application' android { namespace "com.crocoapps.javafilestoragetest2" - compileSdkVersion 33 + compileSdkVersion 35 defaultConfig { applicationId "com.crocoapps.javafilestoragetest2" minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 35 versionCode 1 versionName "1.0" multiDexEnabled true @@ -35,6 +35,7 @@ dependencies { implementation project(':android-filechooser') implementation project(':JavaFileStorage') implementation "androidx.annotation:annotation:1.5.0" + implementation "com.google.android.material:material:1.12.0" } configurations { diff --git a/src/java/JavaFileStorageTest-AS/app/src/main/java/com/crocoapps/javafilestoragetest2/MainActivity.java b/src/java/JavaFileStorageTest-AS/app/src/main/java/com/crocoapps/javafilestoragetest2/MainActivity.java index 5e8fcc35..8583ebca 100644 --- a/src/java/JavaFileStorageTest-AS/app/src/main/java/com/crocoapps/javafilestoragetest2/MainActivity.java +++ b/src/java/JavaFileStorageTest-AS/app/src/main/java/com/crocoapps/javafilestoragetest2/MainActivity.java @@ -547,8 +547,8 @@ public class MainActivity extends Activity implements JavaFileStorage.FileStorag //storageToTest = new SkyDriveFileStorage("000000004010C234", appContext); - //storageToTest = new GoogleDriveAppDataFileStorage(); - storageToTest = new WebDavStorage(new ICertificateErrorHandler() { + storageToTest = new GoogleDriveAppDataFileStorage(); + /*storageToTest = new WebDavStorage(new ICertificateErrorHandler() { @Override public boolean onValidationError(String error) { return false; @@ -558,7 +558,7 @@ public class MainActivity extends Activity implements JavaFileStorage.FileStorag public boolean alwaysFailOnValidationError() { return false; } - }, 64*1024); + }, 64*1024);*/ //storageToTest = new DropboxV2Storage(ctx,"4ybka4p4a1027n6", "1z5lv528un9nre8", !simulateRestart); //storageToTest = new DropboxFileStorage(ctx,"4ybka4p4a1027n6", "1z5lv528un9nre8", !simulateRestart); diff --git a/src/java/android-filechooser-AS/app/build.gradle b/src/java/android-filechooser-AS/app/build.gradle index febbfce0..fc58ef1d 100644 --- a/src/java/android-filechooser-AS/app/build.gradle +++ b/src/java/android-filechooser-AS/app/build.gradle @@ -4,11 +4,11 @@ android { namespace 'group.pals.android.lib.ui.filechooser' - compileSdkVersion 33 + compileSdkVersion 35 defaultConfig { minSdkVersion 16 - targetSdkVersion 33 + targetSdkVersion 35 } buildTypes { @@ -30,4 +30,5 @@ android { dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation "com.google.android.material:material:1.12.0" } diff --git a/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FileChooserActivity.java b/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FileChooserActivity.java index 1f590c3e..b36303f6 100644 --- a/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FileChooserActivity.java +++ b/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FileChooserActivity.java @@ -20,6 +20,8 @@ import android.content.Context; import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; + +import androidx.core.view.WindowCompat; import androidx.fragment.app.FragmentActivity; import android.util.Log; import android.view.KeyEvent; @@ -242,6 +244,7 @@ public class FileChooserActivity extends FragmentActivity { R.style.Afc_Theme_Dark)); super.onCreate(savedInstanceState); + setContentView(R.layout.afc_activity_filechooser); Ui.adjustDialogSizeForLargeScreen(getWindow()); diff --git a/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FragmentFiles.java b/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FragmentFiles.java index 1aeeb04d..650d5ed4 100644 --- a/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FragmentFiles.java +++ b/src/java/android-filechooser-AS/app/src/main/java/group/pals/android/lib/ui/filechooser/FragmentFiles.java @@ -49,6 +49,10 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; + +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.fragment.app.Fragment; import androidx.loader.app.LoaderManager; import androidx.loader.content.CursorLoader; @@ -324,6 +328,19 @@ public class FragmentFiles extends Fragment implements * INIT CONTROLS */ + ViewCompat.setOnApplyWindowInsetsListener(rootView, (v, windowInsets) -> { + Insets systemBarsInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.navigationBars() | WindowInsetsCompat.Type.ime()); + + + v.setPadding( + systemBarsInsets.left, + systemBarsInsets.top, + systemBarsInsets.right, + systemBarsInsets.bottom + ); + + return WindowInsetsCompat.CONSUMED; + }); return rootView; }// onCreateView() diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_dark.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_dark.xml index 96189b83..805588b4 100644 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_dark.xml +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_dark.xml @@ -8,8 +8,6 @@ - - - + \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_light.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_light.xml index 315cd5ef..805588b4 100644 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_light.xml +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_button_ok_saveas_light.xml @@ -8,8 +8,6 @@ - - - + \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left.xml new file mode 100644 index 00000000..ee4cdadf --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left.xml @@ -0,0 +1,16 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_dark.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_dark.xml deleted file mode 100644 index 0a92de27..00000000 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_dark.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_light.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_light.xml deleted file mode 100644 index 62cef93b..00000000 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_left_light.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right.xml new file mode 100644 index 00000000..fa468694 --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_dark.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_dark.xml deleted file mode 100644 index 88074482..00000000 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_dark.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_light.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_light.xml deleted file mode 100644 index fc62de6c..00000000 --- a/src/java/android-filechooser-AS/app/src/main/res/drawable/afc_selector_main_button_navi_right_light.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24.xml new file mode 100644 index 00000000..b9eabc6b --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24_alpha30.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24_alpha30.xml new file mode 100644 index 00000000..15dfd430 --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_left_24_alpha30.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24.xml new file mode 100644 index 00000000..2fcd0966 --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24_alpha30.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24_alpha30.xml new file mode 100644 index 00000000..3ba27356 --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/baseline_chevron_right_24_alpha30.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/java/android-filechooser-AS/app/src/main/res/drawable/save_icon.xml b/src/java/android-filechooser-AS/app/src/main/res/drawable/save_icon.xml new file mode 100644 index 00000000..efee5823 --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/drawable/save_icon.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/java/android-filechooser-AS/app/src/main/res/layout/afc_file_item.xml b/src/java/android-filechooser-AS/app/src/main/res/layout/afc_file_item.xml index 07b1ca61..2ca6e74f 100644 --- a/src/java/android-filechooser-AS/app/src/main/res/layout/afc_file_item.xml +++ b/src/java/android-filechooser-AS/app/src/main/res/layout/afc_file_item.xml @@ -42,9 +42,9 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:layout_marginBottom="@dimen/afc_2dp" + android:layout_marginTop="@dimen/afc_5dp" + android:layout_marginBottom="@dimen/afc_5dp" android:layout_marginRight="@dimen/afc_5dp" - android:layout_marginTop="@dimen/afc_2dp" android:layout_weight="0.1" android:orientation="vertical" > @@ -55,8 +55,8 @@ android:ellipsize="middle" android:maxLines="3" android:singleLine="false" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textIsSelectable="false" /> + android:textIsSelectable="false" + android:textAppearance="@style/TextAppearance.Material3.BodyLarge"/> + android:textIsSelectable="false" + android:textAppearance="@style/TextAppearance.Material3.BodySmall" /> + android:layout_height="match_parent"> + /> - - - \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/values-v30/themes.xml b/src/java/android-filechooser-AS/app/src/main/res/values-v30/themes.xml new file mode 100644 index 00000000..0432eeba --- /dev/null +++ b/src/java/android-filechooser-AS/app/src/main/res/values-v30/themes.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/java/android-filechooser-AS/app/src/main/res/values/themes.xml b/src/java/android-filechooser-AS/app/src/main/res/values/themes.xml index 58b2b7eb..7443537a 100644 --- a/src/java/android-filechooser-AS/app/src/main/res/values/themes.xml +++ b/src/java/android-filechooser-AS/app/src/main/res/values/themes.xml @@ -1,63 +1,55 @@ - - - - - + - + + - - - + - + + +