[Scummvm-cvs-logs] SF.net SVN: scummvm:[50494] scummvm/trunk/backends/platform/android/org/ inodes/gus/scummvm

anguslees at users.sourceforge.net anguslees at users.sourceforge.net
Tue Jun 29 14:56:23 CEST 2010


Revision: 50494
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50494&view=rev
Author:   anguslees
Date:     2010-06-29 12:56:22 +0000 (Tue, 29 Jun 2010)

Log Message:
-----------
Replace some code with constructs that work on Android pre-1.6.
Add a boolean for disabling the "no plugins found" warning.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java
    scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java

Modified: scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java
===================================================================
--- scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java	2010-06-29 11:51:05 UTC (rev 50493)
+++ scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java	2010-06-29 12:56:22 UTC (rev 50494)
@@ -32,14 +32,27 @@
 	private class MyScummVM extends ScummVM {
 		private boolean scummvmRunning = false;
 
+		private boolean usingSmallScreen() {
+			// Multiple screen sizes came in with Android 1.6.  Have
+			// to use reflection in order to continue supporting 1.5
+			// devices :(
+			DisplayMetrics metrics = new DisplayMetrics();
+			getWindowManager().getDefaultDisplay().getMetrics(metrics);
+			try {
+				// This 'density' term is very confusing.
+				int DENSITY_LOW = metrics.getClass().getField("DENSITY_LOW").getInt(null);
+				int densityDpi = metrics.getClass().getField("densityDpi").getInt(metrics);
+				return densityDpi <= DENSITY_LOW;
+			} catch (Exception e) {
+				return false;
+			}
+		}
+
 		public MyScummVM() {
 			super(ScummVMActivity.this);
 
 			// Enable ScummVM zoning on 'small' screens.
-			// This 'density' term is very confusing.
-			DisplayMetrics metrics = new DisplayMetrics();
-			getWindowManager().getDefaultDisplay().getMetrics(metrics);
-			enableZoning(metrics.densityDpi <= DisplayMetrics.DENSITY_LOW);
+			enableZoning(usingSmallScreen());
 		}
 
 		@Override

Modified: scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java
===================================================================
--- scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java	2010-06-29 11:51:05 UTC (rev 50493)
+++ scummvm/trunk/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java	2010-06-29 12:56:22 UTC (rev 50494)
@@ -34,6 +34,7 @@
 import java.util.zip.ZipEntry;
 
 public class Unpacker extends Activity {
+	private final static boolean PLUGINS_ENABLED = true;
 	private final static String META_NEXT_ACTIVITY =
 		"org.inodes.gus.unpacker.nextActivity";
 	private ProgressBar mProgress;
@@ -79,7 +80,6 @@
 				if (cn != null) {
 					final Intent origIntent = getIntent();
 					Intent intent = new Intent();
-					intent.setPackage(origIntent.getPackage());
 					intent.setComponent(cn);
 					if (origIntent.getExtras() != null)
 						intent.putExtras(origIntent.getExtras());
@@ -294,7 +294,7 @@
 		Intent intent = new Intent(ScummVMApplication.ACTION_PLUGIN_QUERY);
 		List<ResolveInfo> plugins = getPackageManager()
 			.queryBroadcastReceivers(intent, 0);
-		if (plugins.isEmpty()) {
+		if (PLUGINS_ENABLED && plugins.isEmpty()) {
 			// No plugins installed
 			AlertDialog.Builder alert = new AlertDialog.Builder(this)
 				.setTitle(R.string.no_plugins_title)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list