always use the proper aspect ratio at preview

This commit is contained in:
tibbi
2016-06-18 16:55:46 +02:00
parent 557711c0ed
commit 4bb6d55244
3 changed files with 62 additions and 19 deletions

View File

@@ -1,13 +1,16 @@
package com.simplemobiletools.camera;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Point;
import android.hardware.Camera;
import android.media.MediaScannerConnection;
import android.os.Environment;
import android.support.v4.content.ContextCompat;
import android.view.Display;
import android.widget.Toast;
import java.io.File;
@@ -97,6 +100,28 @@ public class Utils {
return sb.toString();
}
public static Point getScreenSize(Activity activity) {
final Display display = activity.getWindowManager().getDefaultDisplay();
final Point size = new Point();
display.getSize(size);
size.y += getNavBarHeight(activity.getResources());
return size;
}
public static int getNavBarHeight(Resources res) {
int id = res.getIdentifier("navigation_bar_height", "dimen", "android");
if (id > 0 && hasNavBar(res)) {
return res.getDimensionPixelSize(id);
}
return 0;
}
public static boolean hasNavBar(Resources res) {
int id = res.getIdentifier("config_showNavigationBar", "bool", "android");
return id > 0 && res.getBoolean(id);
}
public static boolean hasCameraPermission(Context cxt) {
return ContextCompat.checkSelfPermission(cxt, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
}