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