mirror of
https://github.com/izzy2lost/PSX2.git
synced 2026-07-05 15:18:36 -07:00
fixed menu button crash again
This commit is contained in:
+21
-2
@@ -2,17 +2,35 @@ plugins {
|
||||
id 'com.android.application'
|
||||
}
|
||||
|
||||
// Load keystore properties
|
||||
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
||||
def keystoreProperties = new Properties()
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = 'com.izzy2lost.psx2'
|
||||
compileSdk = 36
|
||||
ndkVersion = '28.2.13676358'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
storeFile file(keystoreProperties['storeFile'])
|
||||
storePassword keystoreProperties['storePassword']
|
||||
keyAlias keystoreProperties['keyAlias']
|
||||
keyPassword keystoreProperties['keyPassword']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.izzy2lost.psx2"
|
||||
minSdk = 26
|
||||
targetSdk = 36
|
||||
versionCode 12
|
||||
versionName "1.1.0"
|
||||
versionCode 13
|
||||
versionName "1.1.1"
|
||||
// APK
|
||||
base.archivesName = "PSX2_${versionCode}_${new Date().format('yyyyMMddHHmm')}"
|
||||
|
||||
@@ -39,6 +57,7 @@ android {
|
||||
minifyEnabled = true
|
||||
shrinkResources = true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
ndk {
|
||||
debugSymbolLevel 'SYMBOL_TABLE'
|
||||
}
|
||||
|
||||
@@ -419,8 +419,19 @@ public class GamesCoverDialogFragment extends DialogFragment {
|
||||
// Refresh drawer settings before opening
|
||||
refreshDialogDrawerSettings();
|
||||
androidx.drawerlayout.widget.DrawerLayout drawer = root.findViewById(R.id.dlg_drawer_layout);
|
||||
if (drawer != null) drawer.openDrawer(GravityCompat.START);
|
||||
} catch (Throwable ignored) {}
|
||||
if (drawer != null) {
|
||||
// Defer the open to avoid layout/reentrancy races similar to activity path
|
||||
drawer.post(() -> {
|
||||
try {
|
||||
drawer.openDrawer(GravityCompat.START);
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("GamesCoverDialog", "Error opening dialog drawer (posted): " + t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("GamesCoverDialog", "Error scheduling dialog drawer open: " + t.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
// Setup drawer listener for pause/resume tracking
|
||||
@@ -605,8 +616,18 @@ public class GamesCoverDialogFragment extends DialogFragment {
|
||||
// Refresh drawer settings before opening
|
||||
refreshDialogDrawerSettings();
|
||||
androidx.drawerlayout.widget.DrawerLayout drawer = root.findViewById(R.id.dlg_drawer_layout);
|
||||
if (drawer != null) drawer.openDrawer(androidx.core.view.GravityCompat.START);
|
||||
} catch (Throwable ignored) {}
|
||||
if (drawer != null) {
|
||||
drawer.post(() -> {
|
||||
try {
|
||||
drawer.openDrawer(androidx.core.view.GravityCompat.START);
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("GamesCoverDialog", "Error opening dialog drawer (posted): " + t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("GamesCoverDialog", "Error scheduling dialog drawer open: " + t.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void setupDialogDrawerSettings(View header) {
|
||||
|
||||
@@ -571,13 +571,20 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
|
||||
if (btn_settings != null) {
|
||||
btn_settings.setOnClickListener(v -> {
|
||||
try {
|
||||
// Just open the drawer - let the drawer listener handle pausing
|
||||
// Open the drawer via post() to avoid reentrancy/layout timing issues
|
||||
// (programmatic open can sometimes race with layout/insets handling)
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
if (drawer != null) {
|
||||
drawer.openDrawer(androidx.core.view.GravityCompat.START);
|
||||
drawer.post(() -> {
|
||||
try {
|
||||
drawer.openDrawer(androidx.core.view.GravityCompat.START);
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("MainActivity", "Error opening settings drawer (posted): " + t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
android.util.Log.e("MainActivity", "Error opening settings drawer: " + t.getMessage());
|
||||
android.util.Log.e("MainActivity", "Error scheduling settings drawer open: " + t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM Build signed AAB for Google Play release
|
||||
|
||||
echo Building release AAB...
|
||||
call gradlew.bat bundleRelease
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Build successful!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo AAB location:
|
||||
dir /b app\build\outputs\bundle\release\*.aab
|
||||
echo.
|
||||
echo Full path:
|
||||
cd
|
||||
echo \app\build\outputs\bundle\release\
|
||||
echo.
|
||||
) else (
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Build failed!
|
||||
echo ========================================
|
||||
echo.
|
||||
)
|
||||
|
||||
pause
|
||||
Reference in New Issue
Block a user