mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-09-29 08:55:06 +00:00
Only expose symbols bundled in APK on demand
- Cuts down on launch time - Cuts down on wasted app space
This commit is contained in:
parent
9f5bbe6eb0
commit
42a2fac420
@ -146,14 +146,9 @@ public class Apple2Activity extends Activity {
|
|||||||
// run first-time initializations
|
// run first-time initializations
|
||||||
if (!Apple2Preferences.FIRST_TIME_CONFIGURED.booleanValue(this)) {
|
if (!Apple2Preferences.FIRST_TIME_CONFIGURED.booleanValue(this)) {
|
||||||
Apple2DisksMenu.firstTime(this);
|
Apple2DisksMenu.firstTime(this);
|
||||||
Apple2DisksMenu.exposeSymbols(this);
|
|
||||||
Apple2Preferences.KeypadPreset.IJKM_SPACE.apply(this);
|
Apple2Preferences.KeypadPreset.IJKM_SPACE.apply(this);
|
||||||
}
|
}
|
||||||
Apple2Preferences.FIRST_TIME_CONFIGURED.saveBoolean(this, true);
|
Apple2Preferences.FIRST_TIME_CONFIGURED.saveBoolean(this, true);
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
// always copy new symbols while developing/iterating
|
|
||||||
Apple2DisksMenu.exposeSymbols(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
// get device audio parameters for native OpenSLES
|
// get device audio parameters for native OpenSLES
|
||||||
int sampleRate = DevicePropertyCalculator.getRecommendedSampleRate(this);
|
int sampleRate = DevicePropertyCalculator.getRecommendedSampleRate(this);
|
||||||
|
@ -187,6 +187,8 @@ public class Apple2CrashHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
Apple2DisksMenu.exposeSymbols(activity);
|
||||||
|
|
||||||
final int sampleRate = DevicePropertyCalculator.getRecommendedSampleRate(activity);
|
final int sampleRate = DevicePropertyCalculator.getRecommendedSampleRate(activity);
|
||||||
final int monoBufferSize = DevicePropertyCalculator.getRecommendedBufferSize(activity, /*isStereo:*/false);
|
final int monoBufferSize = DevicePropertyCalculator.getRecommendedBufferSize(activity, /*isStereo:*/false);
|
||||||
final int stereoBufferSize = DevicePropertyCalculator.getRecommendedBufferSize(activity, /*isStereo:*/true);
|
final int stereoBufferSize = DevicePropertyCalculator.getRecommendedBufferSize(activity, /*isStereo:*/true);
|
||||||
@ -239,6 +241,8 @@ public class Apple2CrashHandler {
|
|||||||
allCrashData.append(">>>>>>> JAVA CRASH DATA\n");
|
allCrashData.append(">>>>>>> JAVA CRASH DATA\n");
|
||||||
allCrashData.append(javaCrashData);
|
allCrashData.append(javaCrashData);
|
||||||
|
|
||||||
|
Apple2DisksMenu.unexposeSymbols(activity);
|
||||||
|
|
||||||
// send report with all the data
|
// send report with all the data
|
||||||
_sendEmailToDeveloperWithCrashData(activity, allCrashData);
|
_sendEmailToDeveloperWithCrashData(activity, allCrashData);
|
||||||
}
|
}
|
||||||
|
@ -137,6 +137,10 @@ public class Apple2DisksMenu implements Apple2MenuView {
|
|||||||
recursivelyCopyAPKAssets(activity, /*from APK directory:*/"symbols", /*to location:*/new File(sDataDir, "symbols").getAbsolutePath());
|
recursivelyCopyAPKAssets(activity, /*from APK directory:*/"symbols", /*to location:*/new File(sDataDir, "symbols").getAbsolutePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void unexposeSymbols(Apple2Activity activity) {
|
||||||
|
recursivelyDelete(new File(sDataDir, "symbols"));
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
// Apple2MenuView interface methods
|
// Apple2MenuView interface methods
|
||||||
|
|
||||||
@ -274,6 +278,17 @@ public class Apple2DisksMenu implements Apple2MenuView {
|
|||||||
return pathBuffer.toString();
|
return pathBuffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void recursivelyDelete(File file) {
|
||||||
|
if (file.isDirectory()) {
|
||||||
|
for (File f : file.listFiles()) {
|
||||||
|
recursivelyDelete(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!file.delete()) {
|
||||||
|
Log.d(TAG, "Failed to delete file: " + file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void recursivelyCopyAPKAssets(Apple2Activity activity, String srcFileOrDir, String dstFileOrDir) {
|
private static void recursivelyCopyAPKAssets(Apple2Activity activity, String srcFileOrDir, String dstFileOrDir) {
|
||||||
AssetManager assetManager = activity.getAssets();
|
AssetManager assetManager = activity.getAssets();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user