Minor cleanup to GameActivity.

This commit is contained in:
Miku AuahDark
2021-12-05 12:03:23 +08:00
parent c9831be4a4
commit b6cb0d037e
2 changed files with 23 additions and 25 deletions
@@ -54,16 +54,14 @@ import androidx.annotation.Keep;
import androidx.core.app.ActivityCompat;
public class GameActivity extends SDLActivity {
private static DisplayMetrics metrics = new DisplayMetrics();
private static DisplayMetrics metrics = null;
private static String gamePath = "";
private static Context context;
private static Vibrator vibrator = null;
protected final int[] externalStorageRequestDummy = new int[1];
protected final int[] recordAudioRequestDummy = new int[1];
public static final int EXTERNAL_STORAGE_REQUEST_CODE = 2;
public static final int RECORD_AUDIO_REQUEST_CODE = 3;
private static boolean immersiveActive = false;
private static boolean mustCacheArchive = false;
private static boolean needToCopyGameInArchive = false;
private boolean storagePermissionUnnecessary = false;
private boolean shortEdgesMode = false;
@@ -106,11 +104,9 @@ public class GameActivity extends SDLActivity {
protected void onCreate(Bundle savedInstanceState) {
Log.d("GameActivity", "started");
context = this.getApplicationContext();
int res = context.checkCallingOrSelfPermission(Manifest.permission.VIBRATE);
int res = checkCallingOrSelfPermission(Manifest.permission.VIBRATE);
if (res == PackageManager.PERMISSION_GRANTED) {
vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
} else {
Log.d("GameActivity", "Vibration disabled: could not get vibration permission.");
}
@@ -118,12 +114,12 @@ public class GameActivity extends SDLActivity {
// These 2 variables must be reset or it will use the existing value.
gamePath = "";
storagePermissionUnnecessary = false;
embed = context.getResources().getBoolean(R.bool.embed);
embed = getResources().getBoolean(R.bool.embed);
handleIntent(this.getIntent());
super.onCreate(savedInstanceState);
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics = getResources().getDisplayMetrics();
// Set low-latency audio values
nativeSetDefaultStreamValues(getAudioFreq(), getAudioSMP());
@@ -169,7 +165,7 @@ public class GameActivity extends SDLActivity {
try {
String filename = "game.love";
String[] pathSegments = path.split("/");
if (pathSegments != null && pathSegments.length > 0) {
if (pathSegments.length > 0) {
filename = pathSegments[pathSegments.length - 1];
}
@@ -217,10 +213,10 @@ public class GameActivity extends SDLActivity {
// so that we can load it from native LÖVE code
AssetManager assetManager = getAssets();
InputStream gameStream = assetManager.open("game.love");
String destinationFile = this.getCacheDir().getPath() + "/game.love";
String destination_file = this.getCacheDir().getPath() + "/game.love";
if (mustCacheArchive && copyAssetFile(gameStream, destination_file))
gamePath = destination_file;
if (copyAssetFile(gameStream, destinationFile))
gamePath = destinationFile;
else
gamePath = "game.love";
storagePermissionUnnecessary = true;
@@ -338,29 +334,29 @@ public class GameActivity extends SDLActivity {
*
* @return true if successful
*/
boolean copyAssetFile(InputStream source_stream, String destinationFileName) {
boolean copyAssetFile(InputStream source, String destinationFileName) {
boolean success = false;
BufferedOutputStream destination_stream = null;
BufferedOutputStream destination = null;
try {
destination_stream = new BufferedOutputStream(new FileOutputStream(destinationFileName, false));
destination = new BufferedOutputStream(new FileOutputStream(destinationFileName, false));
} catch (IOException e) {
Log.d("GameActivity", "Could not open destination file: " + e.getMessage());
}
// perform the copying
int chunk_read = 0;
int chunk_read;
int bytes_written = 0;
assert (source_stream != null && destination_stream != null);
assert (source != null && destination != null);
try {
byte[] buf = new byte[1024];
chunk_read = source_stream.read(buf);
chunk_read = source.read(buf);
do {
destination_stream.write(buf, 0, chunk_read);
destination.write(buf, 0, chunk_read);
bytes_written += chunk_read;
chunk_read = source_stream.read(buf);
chunk_read = source.read(buf);
} while (chunk_read != -1);
} catch (IOException e) {
Log.d("GameActivity", "Copying failed:" + e.getMessage());
@@ -368,8 +364,8 @@ public class GameActivity extends SDLActivity {
// close streams
try {
if (source_stream != null) source_stream.close();
if (destination_stream != null) destination_stream.close();
source.close();
destination.close();
success = true;
} catch (IOException e) {
Log.d("GameActivity", "Copying failed: " + e.getMessage());
@@ -449,7 +445,7 @@ public class GameActivity extends SDLActivity {
}
case RECORD_AUDIO_REQUEST_CODE: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.d("GameActivity", "Mic ermission granted");
Log.d("GameActivity", "Mic permission granted");
} else {
Log.d("GameActivity", "Did not get mic permission.");
}