diff --git a/app/build.gradle b/app/build.gradle
index d11af4b..9535e57 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -12,8 +12,8 @@ android {
applicationId "com.vectras.vm"
minSdk minApi
targetSdk targetApi
- versionCode 82
- versionName "3.7.8"
+ versionCode 83
+ versionName "3.7.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
@@ -79,7 +79,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.7.1'
- implementation 'com.google.android.material:material:1.14.0-alpha08'
+ implementation 'com.google.android.material:material:1.14.0-alpha09'
implementation "androidx.annotation:annotation:1.9.1"
implementation "androidx.core:core-ktx:1.17.0"
implementation "androidx.drawerlayout:drawerlayout:1.2.0"
@@ -103,12 +103,12 @@ dependencies {
implementation 'com.airbnb.android:lottie:6.7.1'
implementation 'org.apache.commons:commons-compress:1.28.0'
// implementation 'com.google.firebase:firebase-crashlytics-buildtools:3.0.6'
- implementation 'androidx.activity:activity-ktx:1.12.2'
+ implementation 'androidx.activity:activity-ktx:1.12.3'
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation "androidx.documentfile:documentfile:1.1.0"
implementation 'androidx.core:core-ktx:1.17.0'
- implementation 'androidx.activity:activity-ktx:1.12.2'
+ implementation 'androidx.activity:activity-ktx:1.12.3'
compileOnly project(':shell-loader:stub')
implementation project(":terminal-view")
diff --git a/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java b/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java
index aa20dbe..323eb70 100644
--- a/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java
+++ b/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java
@@ -730,6 +730,7 @@ public class VMCreatorActivity extends AppCompatActivity {
}
private void thumbnailProcessing() {
+ if (isFinishing() || isDestroyed()) return;
if (!thumbnailPath.isEmpty()) {
binding.ivAddThubnail.setImageResource(R.drawable.edit_24px);
File imgFile = new File(thumbnailPath);
diff --git a/app/src/main/java/com/vectras/vm/main/MainActivity.java b/app/src/main/java/com/vectras/vm/main/MainActivity.java
index 333af25..127fec0 100644
--- a/app/src/main/java/com/vectras/vm/main/MainActivity.java
+++ b/app/src/main/java/com/vectras/vm/main/MainActivity.java
@@ -20,6 +20,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import androidx.activity.EdgeToEdge;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
@@ -139,16 +140,17 @@ public class MainActivity extends AppCompatActivity implements RomStoreFragment.
RomStoreFragment.romStoreCallToHomeListener = this;
SoftwareStoreFragment.softwareStoreCallToHomeListener = this;
-// EdgeToEdge.enable(this);
+ EdgeToEdge.enable(this);
binding = ActivityMainBinding.inflate(getLayoutInflater());
bindingContent = binding.maincontent;
setContentView(binding.getRoot());
isActivate = true;
-// UIUtils.setOnApplyWindowInsetsListenerTop(bindingContent.main);
-// UIUtils.setOnApplyWindowInsetsListenerLeftOnly(binding.navView);
- UIUtils.setOnApplyWindowInsetsListenerBottomOnly(binding.rvSearch);
- UIUtils.setOnApplyWindowInsetsListenerBottomOnly(binding.lnSearchempty);
+ UIUtils.setOnApplyWindowInsetsListenerHorizontal(bindingContent.main);
+ UIUtils.setOnApplyWindowInsetsListenerBottomOnly(bindingContent.containerView);
+ UIUtils.setOnApplyWindowInsetsListenerNavigationView(binding.navView);
+ UIUtils.setOnApplyWindowInsetsListenerBottom(binding.rvSearch);
+ UIUtils.setOnApplyWindowInsetsListenerBottom(binding.lnSearchempty);
initialize(bundle);
}
@@ -435,8 +437,6 @@ public class MainActivity extends AppCompatActivity implements RomStoreFragment.
}
private void setupDrawer() {
- binding.drawerLayout.setScrimColor(Color.parseColor("#40000000")); //25%
-
//Setting Navigation View Item Selected Listener to handle the item click of the navigation menu
// This method will trigger on item Click of navigation menu
binding.navView.setNavigationItemSelectedListener(menuItem -> {
diff --git a/app/src/main/java/com/vectras/vm/utils/UIUtils.java b/app/src/main/java/com/vectras/vm/utils/UIUtils.java
index be85a35..723ffd3 100644
--- a/app/src/main/java/com/vectras/vm/utils/UIUtils.java
+++ b/app/src/main/java/com/vectras/vm/utils/UIUtils.java
@@ -35,6 +35,7 @@ import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
+import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
@@ -494,7 +495,7 @@ public class UIUtils {
});
}
- public static void setOnApplyWindowInsetsListenerHorizontalOnly(View _view) {
+ public static void setOnApplyWindowInsetsListenerHorizontal(View _view) {
int originalPaddingLeft = _view.getPaddingLeft();
int originalPaddingTop = _view.getPaddingTop();
int originalPaddingRight = _view.getPaddingRight();
@@ -507,6 +508,24 @@ public class UIUtils {
});
}
+ public static void setOnApplyWindowInsetsListenerNavigationView(View _view) {
+ int originalPaddingLeft = _view.getPaddingLeft();
+ int originalPaddingTop = _view.getPaddingTop();
+ int originalPaddingRight = _view.getPaddingRight();
+ int originalPaddingBottom = _view.getPaddingBottom();
+
+
+ ViewCompat.setOnApplyWindowInsetsListener(_view, (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() | WindowInsetsCompat.Type.ime());
+ v.setPadding(systemBars.left + originalPaddingLeft , originalPaddingTop, originalPaddingRight, originalPaddingBottom);
+
+ ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
+ lp.bottomMargin = systemBars.bottom;
+ v.setLayoutParams(lp);
+ return insets;
+ });
+ }
+
public static boolean isUsingThemeNightMode() {
int nightMode = AppCompatDelegate.getDefaultNightMode();
return nightMode == AppCompatDelegate.MODE_NIGHT_YES;
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 52cfa74..ce0134e 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,18 +1,34 @@
-