diff options
Diffstat (limited to 'main/src/cgeo/geocaching/compatibility/AndroidLevel8.java')
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel8.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java index ea5a795..e250934 100644 --- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java @@ -5,7 +5,11 @@ import cgeo.geocaching.utils.Log; import android.annotation.TargetApi; import android.app.Activity; import android.app.backup.BackupManager; +import android.os.Environment; import android.view.Display; +import android.view.Surface; + +import java.io.File; @TargetApi(8) public class AndroidLevel8 implements AndroidLevel8Interface { @@ -21,4 +25,29 @@ public class AndroidLevel8 implements AndroidLevel8Interface { Log.i("Requesting settings backup with settings manager"); BackupManager.dataChanged(name); } + + @Override + public int getRotationOffset(final Activity activity) { + try { + final int rotation = getRotation(activity); + if (rotation == Surface.ROTATION_90) { + return 90; + } else if (rotation == Surface.ROTATION_180) { + return 180; + } else if (rotation == Surface.ROTATION_270) { + return 270; + } + } catch (final Exception e) { + // This should never happen: IllegalArgumentException, IllegalAccessException or InvocationTargetException + Log.e("Cannot call getRotation()", e); + } + + return 0; + } + + @Override + public File getExternalPictureDir() { + return Environment.getExternalStoragePublicDirectory( + Environment.DIRECTORY_PICTURES); + } } |
