diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-28 11:14:12 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-28 12:01:56 +0200 |
| commit | 2b4f5f538b2223748b3db9ba0d3b11a5c1e1247c (patch) | |
| tree | 109a4cec88e9cf2224fbd55b19eaab42795b7bf5 | |
| parent | caceb9389d10fe9513548d6f024ecedc4c564c03 (diff) | |
| download | cgeo-2b4f5f538b2223748b3db9ba0d3b11a5c1e1247c.zip cgeo-2b4f5f538b2223748b3db9ba0d3b11a5c1e1247c.tar.gz cgeo-2b4f5f538b2223748b3db9ba0d3b11a5c1e1247c.tar.bz2 | |
Enable hardware-acceleration in software (#2803)
This should not change the current behaviour, but toggles hardware
acceleration from the code rather than from the manifest.
| -rw-r--r-- | main/AndroidManifest.xml | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/activity/AbstractActivity.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/activity/AbstractListActivity.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/activity/ActivityMixin.java | 10 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/CGeoMap.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/Settings.java | 4 |
6 files changed, 17 insertions, 6 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index de91a06..94c23c9 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -39,7 +39,8 @@ android:backupAgent="cgeo.geocaching.backup.CentralBackupAgent" android:icon="@drawable/cgeo" android:label="@string/app_name" - android:theme="@style/cgeo" > + android:theme="@style/cgeo" + android:hardwareAccelerated="false"> <uses-library android:name="com.google.android.maps" android:required="false" /> diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java index 313959a..4fe750a 100644 --- a/main/src/cgeo/geocaching/activity/AbstractActivity.java +++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java @@ -146,7 +146,7 @@ public abstract class AbstractActivity extends ActionBarActivity implements IAbs // only needed in some activities, but implemented in super class nonetheless Cookies.restoreCookieStore(Settings.getCookieStore()); - ActivityMixin.keepScreenOn(this, keepScreenOn); + ActivityMixin.onCreate(this, keepScreenOn); } @Override diff --git a/main/src/cgeo/geocaching/activity/AbstractListActivity.java b/main/src/cgeo/geocaching/activity/AbstractListActivity.java index 718dc70..d7482c3 100644 --- a/main/src/cgeo/geocaching/activity/AbstractListActivity.java +++ b/main/src/cgeo/geocaching/activity/AbstractListActivity.java @@ -67,7 +67,7 @@ public abstract class AbstractListActivity extends ActionBarListActivity impleme res = this.getResources(); app = (CgeoApplication) this.getApplication(); - ActivityMixin.keepScreenOn(this, keepScreenOn); + ActivityMixin.onCreate(this, keepScreenOn); } final protected void setTitle(final String title) { diff --git a/main/src/cgeo/geocaching/activity/ActivityMixin.java b/main/src/cgeo/geocaching/activity/ActivityMixin.java index 6bca871..28042b0 100644 --- a/main/src/cgeo/geocaching/activity/ActivityMixin.java +++ b/main/src/cgeo/geocaching/activity/ActivityMixin.java @@ -16,7 +16,9 @@ import android.support.v4.app.TaskStackBuilder; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.view.Gravity; +import android.view.Window; import android.view.WindowManager; +import android.view.WindowManager.LayoutParams; import android.widget.EditText; import android.widget.Toast; @@ -103,9 +105,13 @@ public final class ActivityMixin { postShowToast(activity, text, Toast.LENGTH_SHORT); } - public static void keepScreenOn(final Activity abstractActivity, final boolean keepScreenOn) { + public static void onCreate(final Activity abstractActivity, final boolean keepScreenOn) { + final Window window = abstractActivity.getWindow(); if (keepScreenOn) { - abstractActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + if (Settings.useHardwareAcceleration()) { + window.setFlags(LayoutParams.FLAG_HARDWARE_ACCELERATED, LayoutParams.FLAG_HARDWARE_ACCELERATED); } } diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index 8e2bbd2..a529552 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -454,7 +454,7 @@ public class CGeoMap extends AbstractMap implements ViewFactory { // reset status noMapTokenShowed = false; - ActivityMixin.keepScreenOn(activity, true); + ActivityMixin.onCreate(activity, true); // set layout diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java index 01ebd6f..efebadf 100644 --- a/main/src/cgeo/geocaching/settings/Settings.java +++ b/main/src/cgeo/geocaching/settings/Settings.java @@ -1034,4 +1034,8 @@ public class Settings { history.add(0, geocode); putString(R.string.pref_caches_history, StringUtils.join(history, HISTORY_SEPARATOR)); } + + public static boolean useHardwareAcceleration() { + return true; + } } |
