diff --git a/demo/src/main/res/layout/activity_main.xml b/demo/src/main/res/layout/activity_main.xml index 1c8b3d1..787fc1f 100644 --- a/demo/src/main/res/layout/activity_main.xml +++ b/demo/src/main/res/layout/activity_main.xml @@ -19,7 +19,7 @@ android:background="#f4f3f3" app:tabMode="fixed" /> - - - \ No newline at end of file + diff --git a/gradle.properties b/gradle.properties index c2227e5..bc93aad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ android.useAndroidX=true #Publish plugin: https://github.com/vanniktech/gradle-maven-publish-plugin GROUP=io.github.muddz POM_ARTIFACT_ID=quickshot -VERSION_NAME=1.4.0 +VERSION_NAME=1.5.0 POM_NAME=quickshot POM_DESCRIPTION=Capture images of any View, SurfaceView or Bitmap from your Android app in: .jpg .png or .nomedia with simple oneliner codes. @@ -21,4 +21,4 @@ POM_SCM_CONNECTION=scm:git:git://github.com/Muddz/Quickshot.git POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/Muddz/Quickshot.git POM_DEVELOPER_ID=Muddz -POM_DEVELOPER_NAME=Muddi Walid \ No newline at end of file +POM_DEVELOPER_NAME=Muddi Walid diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/quickshot/build.gradle b/quickshot/build.gradle index 423a38d..2bda653 100644 --- a/quickshot/build.gradle +++ b/quickshot/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.library' - id 'com.vanniktech.maven.publish' +// id 'com.vanniktech.maven.publish' + id 'maven-publish' } android { compileSdk 30 @@ -24,3 +25,25 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:rules:1.4.0' } + +publishing { + publications { + Common(MavenPublication) { + groupId GROUP + version VERSION_NAME + artifactId POM_ARTIFACT_ID + + artifact("$buildDir/outputs/aar/quickshot-release.aar") + + pom.withXml { + def dependencies = asNode().appendNode('dependencies') + configurations.getByName("releaseCompileClasspath").getResolvedConfiguration().getFirstLevelModuleDependencies().each { + def dependency = dependencies.appendNode('dependency') + dependency.appendNode('groupId', it.moduleGroup) + dependency.appendNode('artifactId', it.moduleName) + dependency.appendNode('version', it.moduleVersion) + } + } + } + } +} diff --git a/quickshot/src/main/java/io/github/muddz/quickshot/QuickShot.java b/quickshot/src/main/java/io/github/muddz/quickshot/QuickShot.java index f4484c4..c36f9d4 100644 --- a/quickshot/src/main/java/io/github/muddz/quickshot/QuickShot.java +++ b/quickshot/src/main/java/io/github/muddz/quickshot/QuickShot.java @@ -1,25 +1,17 @@ package io.github.muddz.quickshot; -import android.content.ContentResolver; -import android.content.ContentValues; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.media.MediaScannerConnection; -import android.net.Uri; import android.os.AsyncTask; -import android.os.Build; -import android.os.Environment; import android.os.Handler; import android.os.Looper; -import android.provider.MediaStore; -import android.util.Log; import android.view.SurfaceView; import android.view.TextureView; import android.view.View; import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; import java.io.BufferedOutputStream; import java.io.File; @@ -224,12 +216,9 @@ static class BitmapSaver extends AsyncTask { this.listener = listener; } - /** - * @deprecated - */ - private void saveLegacy() { + private void save() { if (path == null) { - path = Environment.getExternalStorageDirectory() + File.separator + DIRECTORY_PICTURES; + path = weakContext.get().getFilesDir() + File.separator + DIRECTORY_PICTURES; } File directory = new File(path); directory.mkdirs(); @@ -254,49 +243,9 @@ private void saveLegacy() { } } - @RequiresApi(Build.VERSION_CODES.Q) - private void saveScopedStorage() { - path = path != null ? (DIRECTORY_PICTURES + File.separator + path) : DIRECTORY_PICTURES; - ContentValues contentValues = new ContentValues(); - contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, filename); - contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, path); - contentValues.put(MediaStore.MediaColumns.MIME_TYPE, QuickShotUtils.getMimeType(fileExtension)); - ContentResolver resolver = weakContext.get().getContentResolver(); - Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues); - if (imageUri == null) { - errorMsg = String.format("Couldn't insert ContentValues with data: [%s] into the ContentResolver", contentValues.toString()); - cancel(true); - return; - } - try (OutputStream out = resolver.openOutputStream(imageUri)) { - switch (fileExtension) { - case EXTENSION_JPG: - bitmap.compress(Bitmap.CompressFormat.JPEG, jpgQuality, out); - break; - case EXTENSION_PNG: - bitmap.compress(Bitmap.CompressFormat.PNG, 0, out); - break; - } - file = new File(path, filename + fileExtension); - } catch (Exception e) { - if (printStacktrace) { - e.printStackTrace(); - } - errorMsg = e.toString(); - resolver.delete(imageUri, null, null); - cancel(true); - } finally { - bitmap = null; - } - } - @Override protected Void doInBackground(Void... voids) { - if (QuickShotUtils.isAboveAPI29()) { - saveScopedStorage(); - } else { - saveLegacy(); - } + save(); return null; } @@ -319,4 +268,3 @@ public void run() { } } } - diff --git a/readme.md b/readme.md index a87022e..f564e81 100644 --- a/readme.md +++ b/readme.md @@ -39,7 +39,7 @@ Image format defaults to `.JPG` Add the dependency in your `build.gradle` ```groovy dependencies { - implementation 'io.github.muddz:quickshot:1.4.0' + implementation 'io.github.muddz:quickshot:1.5.0' } ``` ----