From edb268697cb08fc32cd2cf572f13fafff45a55f8 Mon Sep 17 00:00:00 2001 From: Michael W Date: Thu, 26 Dec 2024 16:11:49 +0100 Subject: [PATCH] Messaging: Get rid of storage permissions Since these have no effect on sdk 33 and up and everything works without them we can get rid of those Change-Id: I0482d8b8772dc2c64bb1930fbc6ba4852f4b4c61 --- AndroidManifest.xml | 2 -- .../ui/conversation/ConversationFragment.java | 24 ++++++--------- .../photoviewer/BuglePhotoViewController.java | 29 +++++++------------ src/com/android/messaging/util/OsUtil.java | 7 ----- 4 files changed, 20 insertions(+), 42 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d5cf95d..c6ba856 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -43,8 +43,6 @@ - - diff --git a/src/com/android/messaging/ui/conversation/ConversationFragment.java b/src/com/android/messaging/ui/conversation/ConversationFragment.java index a99701e..e0224bf 100644 --- a/src/com/android/messaging/ui/conversation/ConversationFragment.java +++ b/src/com/android/messaging/ui/conversation/ConversationFragment.java @@ -17,7 +17,6 @@ package com.android.messaging.ui.conversation; -import android.Manifest; import android.app.Activity; import android.app.DownloadManager; import android.content.BroadcastReceiver; @@ -306,20 +305,15 @@ public class ConversationFragment extends Fragment implements ConversationDataLi final String messageId = data.getMessageId(); int itemId = menuItem.getItemId(); if (itemId == R.id.save_attachment) { - if (OsUtil.hasStoragePermission()) { - final SaveAttachmentTask saveAttachmentTask = new SaveAttachmentTask( - getActivity()); - for (final MessagePartData part : data.getAttachments()) { - saveAttachmentTask.addAttachmentToSave(part.getContentUri(), - part.getContentType()); - } - if (saveAttachmentTask.getAttachmentCount() > 0) { - saveAttachmentTask.executeOnThreadPool(); - mHost.dismissActionMode(); - } - } else { - getActivity().requestPermissions( - new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0); + final SaveAttachmentTask saveAttachmentTask = new SaveAttachmentTask( + getActivity()); + for (final MessagePartData part : data.getAttachments()) { + saveAttachmentTask.addAttachmentToSave(part.getContentUri(), + part.getContentType()); + } + if (saveAttachmentTask.getAttachmentCount() > 0) { + saveAttachmentTask.executeOnThreadPool(); + mHost.dismissActionMode(); } return true; } else if (itemId == R.id.action_delete_message) { diff --git a/src/com/android/messaging/ui/photoviewer/BuglePhotoViewController.java b/src/com/android/messaging/ui/photoviewer/BuglePhotoViewController.java index 0bb8f11..3d49e73 100644 --- a/src/com/android/messaging/ui/photoviewer/BuglePhotoViewController.java +++ b/src/com/android/messaging/ui/photoviewer/BuglePhotoViewController.java @@ -16,7 +16,6 @@ package com.android.messaging.ui.photoviewer; -import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -40,7 +39,6 @@ import com.android.messaging.datamodel.MediaScratchFileProvider; import com.android.messaging.ui.conversation.ConversationFragment; import com.android.messaging.util.Dates; import com.android.messaging.util.LogUtil; -import com.android.messaging.util.OsUtil; /** * Customizations for the photoviewer to display conversation images in full screen. @@ -148,23 +146,18 @@ public class BuglePhotoViewController extends PhotoViewController { @Override public boolean onOptionsItemSelected(final MenuItem item) { if (item.getItemId() == R.id.action_save) { - if (OsUtil.hasStoragePermission()) { - final PhotoPagerAdapter adapter = getAdapter(); - final Cursor cursor = getCursorAtProperPosition(); - if (cursor == null) { - final Context context = getActivity().getContext(); - final String error = context.getResources().getQuantityString( - R.plurals.attachment_save_error, 1, 1); - Toast.makeText(context, error, Toast.LENGTH_SHORT).show(); - return true; - } - final String photoUri = adapter.getPhotoUri(cursor); - new ConversationFragment.SaveAttachmentTask(((Activity) getActivity()), - Uri.parse(photoUri), adapter.getContentType(cursor)).executeOnThreadPool(); - } else { - ((Activity)getActivity()).requestPermissions( - new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0); + final PhotoPagerAdapter adapter = getAdapter(); + final Cursor cursor = getCursorAtProperPosition(); + if (cursor == null) { + final Context context = getActivity().getContext(); + final String error = context.getResources().getQuantityString( + R.plurals.attachment_save_error, 1, 1); + Toast.makeText(context, error, Toast.LENGTH_SHORT).show(); + return true; } + final String photoUri = adapter.getPhotoUri(cursor); + new ConversationFragment.SaveAttachmentTask(((Activity) getActivity()), + Uri.parse(photoUri), adapter.getContentType(cursor)).executeOnThreadPool(); return true; } else { return super.onOptionsItemSelected(item); diff --git a/src/com/android/messaging/util/OsUtil.java b/src/com/android/messaging/util/OsUtil.java index f49a521..98c7e73 100644 --- a/src/com/android/messaging/util/OsUtil.java +++ b/src/com/android/messaging/util/OsUtil.java @@ -119,13 +119,6 @@ public class OsUtil { return OsUtil.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION); } - - public static boolean hasStoragePermission() { - // Note that READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE are granted or denied - // together. - return OsUtil.hasPermission(Manifest.permission.READ_EXTERNAL_STORAGE); - } - public static boolean hasRecordAudioPermission() { return OsUtil.hasPermission(Manifest.permission.RECORD_AUDIO); }