diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..39bbd26
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,4 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/universal:2",
+ "features": {}
+}
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..0d15693
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xmlns:android
+
+ ^$
+
+
+
+
+
+
+
+
+ xmlns:.*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+
+ ^$
+
+
+
+
+
+
+
+
+ style
+
+ ^$
+
+
+
+
+
+
+
+
+ .*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+
+ http://schemas.android.com/apk/res/android
+
+
+ ANDROID_ATTRIBUTE_ORDER
+
+
+
+
+
+
+ .*
+
+ .*
+
+
+ BY_NAME
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 19436b6..fdae1d0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/README.md b/README.md
index b794f9a..e448add 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# **CameraIDs**
+# **CameraHW**
-###### A simple app to display all *Camera IDs* on an Android device and share that info as text.
\ No newline at end of file
+###### A simple app to display all *Camera IDs* on an Android device, check compatibility with advanced camera apps and share that info as text.
diff --git a/app/build.gradle b/app/build.gradle
index e73bdc4..8e455ff 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,8 +5,8 @@ android {
buildToolsVersion "30.0.1"
defaultConfig {
- applicationId "com.vibhorsrv.cameraids"
- minSdkVersion 28
+ applicationId 'com.rakin.vibhorcameraids'
+ minSdkVersion 20
targetSdkVersion 30
versionCode 11
versionName "1.1"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7c97d6d..809707e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
+ package="com.rakin.vibhorcameraids">
physicalIds) {
+ public Camera(String id, boolean isFront, float focalLength, float aperture, SizeF sensorSize, double angleOfView, int[] aeModes, boolean flashSupported, Size[] rawSizes, Size[] jpegSizes, Size[] yuvSizes, String supportedHardwareLevel, Set physicalIds) {
this.id = id;
this.focalLength = focalLength;
this.aperture = aperture;
@@ -36,6 +38,8 @@ public Camera(String id, boolean isFront, float focalLength, float aperture, Siz
this.aeModes = aeModes;
this.flashSupported = flashSupported;
this.rawSizes = rawSizes;
+ this.jpegSizes = jpegSizes;
+ this.yuvSizes = yuvSizes;
this.supportedHardwareLevel = supportedHardwareLevel;
this.isFront = isFront;
this.physicalIds = physicalIds;
@@ -96,6 +100,14 @@ public Size[] getRawSizes() {
return rawSizes;
}
+ public Size[] getJpegSizes() {
+ return jpegSizes;
+ }
+
+ public Size[] getYUVSizes() {
+ return yuvSizes;
+ }
+
public SizeF getSensorSize() {
return sensorSize;
}
@@ -115,6 +127,8 @@ public boolean isTypeNotSet() {
@NonNull
public String toString() {
return "" + type + (isFront ? "FRONT" : "BACK") + " " + "ID" + '[' + id + "] " + name + (physicalIds.isEmpty() ? "" : " = ID" + '[' + physicalIds.toString().replace(", ", " + ") + ']') +
+ "\n\t\t\t" +
+ "SupportedHardwareLevel = " + supportedHardwareLevel +
"\n\t\t\t" +
"FocalLength = " + focalLength +
"\n\t\t\t" +
@@ -130,7 +144,16 @@ public String toString() {
"\n\t\t\t" +
"RAW_SENSOR sizes = " + Arrays.toString(rawSizes) +
"\n\t\t\t" +
- "SupportedHardwareLevel = " + supportedHardwareLevel +
+ "\n_______________\n" +
+ "YUV_420_888 sizes = " + Arrays.deepToString(yuvSizes) +
+ "\n\t\t\t" +
+ "\n_______________\n" +
+ "JPEG sizes = " + Arrays.toString(jpegSizes) +
+ "\n\n" +
+ "\n\t\t\t" +
+ "\n\t\t\t" +
+ "\n===============\n" +
+ "\n\t\t\t" +
"\n\n"
;
}
diff --git a/app/src/main/java/com/vibhorsrv/cameraids/CamerasFinder.java b/app/src/main/java/com/rakin/vibhorcameraids/CamerasFinder.java
similarity index 89%
rename from app/src/main/java/com/vibhorsrv/cameraids/CamerasFinder.java
rename to app/src/main/java/com/rakin/vibhorcameraids/CamerasFinder.java
index 1fe61ce..c84ed07 100644
--- a/app/src/main/java/com/vibhorsrv/cameraids/CamerasFinder.java
+++ b/app/src/main/java/com/rakin/vibhorcameraids/CamerasFinder.java
@@ -1,4 +1,4 @@
-package com.vibhorsrv.cameraids;
+package com.rakin.vibhorcameraids;
import android.graphics.ImageFormat;
import android.hardware.camera2.CameraAccessException;
@@ -13,6 +13,7 @@
/**
* Created by Vibhor on 23/09/2020
+ * Modified by Rakin on 27/09/2020
*/
public class CamerasFinder {
private final Map map = new LinkedHashMap<>();
@@ -42,6 +43,8 @@ private void scanAllCameras(CameraManager cameraManager) {
cameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES),
cameraCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE),
getRawSizes(cameraCharacteristics),
+ getJpegSizes(cameraCharacteristics),
+ getYUVSizes(cameraCharacteristics),
getSupportedHWlevel(cameraCharacteristics),
cameraCharacteristics.getPhysicalCameraIds()
);
@@ -160,15 +163,27 @@ private Size[] getRawSizes(CameraCharacteristics cameraCharacteristics) {
}
+ private Size[] getYUVSizes(CameraCharacteristics cameraCharacteristics) {
+ StreamConfigurationMap streamConfigurationMap = cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
+ return streamConfigurationMap.getOutputSizes(ImageFormat.YUV_420_888);
+
+ }
+
+ private Size[] getJpegSizes(CameraCharacteristics cameraCharacteristics) {
+ StreamConfigurationMap streamConfigurationMap = cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
+ return streamConfigurationMap.getOutputSizes(ImageFormat.JPEG);
+
+ }
+
private String getSupportedHWlevel(CameraCharacteristics cameraCharacteristics) {
return hwLevelName(cameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL));
}
private String hwLevelName(int level) {
- return level == 0 ? "LIMITED"
- : level == 1 ? "FULL"
- : level == 2 ? "LEGACY"
- : level == 3 ? "3"
+ return level == 0 ? "LIMITED COMPATIBILITY"
+ : level == 1 ? "FULL\n\t\t\t (GCAM COMPATIBLE)"
+ : level == 2 ? "LEGACY \n\t\t\t (GCAM INCOMPATIBLE)"
+ : level == 3 ? "LEVEL3 \n\t\t\t (BEST GCAM COMPATIBILITY)"
: level == 4 ? "EXTERNAL"
: "";
}
@@ -192,7 +207,7 @@ private void setFileName(String mFileName) {
public String getResultString() {
StringBuilder sb = new StringBuilder();
sb.append(Build.BRAND).append(", ").append(Build.MODEL).append(", ").append(Build.MANUFACTURER).append(", ").append(Build.DEVICE);
- setFileName("CameraIDs-".concat(sb.toString().replace(", ", "-")));
+ setFileName("CameraHW-".concat(sb.toString().replace(", ", "-")));
sb.append("\n\n");
sb.append("Android ").append(Build.VERSION.RELEASE).append(" - ").append(System.getProperty("os.version"));
sb.append("\n");
@@ -200,7 +215,7 @@ public String getResultString() {
scanAllCameras(mCameraManager);
try {
sb.append("\n===============\n");
- sb.append("\nCamera IDs visible to Apps = ");
+ sb.append("\nCamera IDs visible to Normal Apps = ");
sb.append(Arrays.toString(mCameraManager.getCameraIdList()));
sb.append("\n\n===============\n");
sb.append("All Cameras IDs = ").append(map.keySet()).append("\n");
diff --git a/app/src/main/java/com/vibhorsrv/cameraids/MainActivity.java b/app/src/main/java/com/rakin/vibhorcameraids/MainActivity.java
similarity index 98%
rename from app/src/main/java/com/vibhorsrv/cameraids/MainActivity.java
rename to app/src/main/java/com/rakin/vibhorcameraids/MainActivity.java
index 11e1864..e5d747a 100644
--- a/app/src/main/java/com/vibhorsrv/cameraids/MainActivity.java
+++ b/app/src/main/java/com/rakin/vibhorcameraids/MainActivity.java
@@ -1,4 +1,4 @@
-package com.vibhorsrv.cameraids;
+package com.rakin.vibhorcameraids;
import android.content.Context;
import android.content.Intent;
diff --git a/app/src/main/res/drawable/ic_baseline_info_24.xml b/app/src/main/res/drawable/ic_baseline_info_24.xml
index 654cfb3..0f51c30 100644
--- a/app/src/main/res/drawable/ic_baseline_info_24.xml
+++ b/app/src/main/res/drawable/ic_baseline_info_24.xml
@@ -1,4 +1,4 @@
-
diff --git a/app/src/main/res/drawable/ic_baseline_share_24.xml b/app/src/main/res/drawable/ic_baseline_share_24.xml
index 8540a71..5f66350 100644
--- a/app/src/main/res/drawable/ic_baseline_share_24.xml
+++ b/app/src/main/res/drawable/ic_baseline_share_24.xml
@@ -1,6 +1,6 @@
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index b212008..c86642e 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -2,14 +2,19 @@
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
- android:viewportHeight="108">
-
+ android:viewportHeight="108"
+ android:tint="#D8DCD9">
+
+ android:fillColor="@android:color/white"
+ android:pathData="M14.12,4H9.88L8.05,6H4v12h16V6h-4.05l-1.83,-2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z"
+ android:strokeAlpha="0.3"
+ android:fillAlpha="0.3"/>
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index fd3c85a..71a6541 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -9,6 +9,7 @@
@@ -18,11 +19,12 @@
android:id="@+id/textView"
android:layout_marginTop="15dp"
android:textSize="15sp"
- android:textColor="@android:color/black"
+ android:textColor="@android:color/primary_text_dark"
android:padding="10dp"
android:layout_gravity="fill"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
+ android:background="@color/background"
tools:text="TextView"
/>
@@ -31,11 +33,11 @@
android:id="@+id/share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="bottom|end"
+ android:layout_gravity="top|end"
android:enabled="true"
android:focusable="true"
- android:layout_margin="50dp"
- app:backgroundTint="@color/colorPrimary"
+ android:layout_margin="20dp"
+ app:backgroundTint="#ffffff"
android:src="@drawable/ic_baseline_share_24"
/>
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 3848c37..d5166b7 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
index ff0c758..4936a44 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 7e63b43..acd409c 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
index 2678849..32bb83a 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index db18b82..f4587f1 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
index 6b4b9f6..aaffa3a 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 0859353..56f469f 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
index e493408..071c6e7 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index c978e17..8c7f001 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
index 9e968e6..ac731c9 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 4faecfa..436944c 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,6 +1,7 @@
- #6200EE
- #3700B3
- #03DAC5
+ #999999
+ #496599
+ #447765
+ #212121
\ No newline at end of file
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
index beab31f..58043be 100644
--- a/app/src/main/res/values/ic_launcher_background.xml
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -1,4 +1,4 @@
- #000000
+ #212121
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 93a5bea..c58aa0d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,9 +1,9 @@
- CameraIDs
+ CameraHW
Info
- (Repeat) = Focal length, aperture and AE modes match for two or more camera ids.]]>%1$s
- (Logical) = The camera device is a logical camera backed by two or more physical cameras.]]>%1$s
- (Profile) = Camera supports multiple Raw Sizes]]>%1$s
- Check Source Code on GitHub]]>%1$s
+ (RepeatedID) = Focal length, aperture and AE modes match for two or more camera ids.]]>%1$s
+ (LogicalID) = The camera device is a logical camera backed by two or more physical cameras.]]>%1$s
+ (ProfileID) = Camera supports multiple Raw Sizes]]>%1$s
+ Check Source Code on GitHub]]>%1$s
]]>
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 7da1fa5..7cbd25f 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Sep 20 20:04:02 IST 2020
+#Sun Sep 27 19:51:09 BDT 2020
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip