Messaging: ContactMediaChooser: Remove permission requesting
We never reach this state when we remove the permission, so it makes no sense to have code for it Change-Id: I97f2f5d438148234ea1887462ab65735721da2f8
This commit is contained in:
@@ -49,16 +49,4 @@
|
|||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:contentDescription="@null" />
|
android:contentDescription="@null" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<!-- This view will hide all other views if the required permission is not granted -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/missing_permission_view"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/enable_permission_procedure"
|
|
||||||
android:contentDescription="@string/enable_permission_procedure_description"
|
|
||||||
android:background="@android:color/white"
|
|
||||||
android:gravity="center"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|||||||
@@ -17,11 +17,9 @@
|
|||||||
|
|
||||||
package com.android.messaging.ui.mediapicker;
|
package com.android.messaging.ui.mediapicker;
|
||||||
|
|
||||||
import android.Manifest;
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.provider.ContactsContract.Contacts;
|
import android.provider.ContactsContract.Contacts;
|
||||||
@@ -34,7 +32,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
|
|||||||
|
|
||||||
import com.android.messaging.R;
|
import com.android.messaging.R;
|
||||||
import com.android.messaging.datamodel.data.PendingAttachmentData;
|
import com.android.messaging.datamodel.data.PendingAttachmentData;
|
||||||
import com.android.messaging.util.ContactUtil;
|
|
||||||
import com.android.messaging.util.ContentType;
|
import com.android.messaging.util.ContentType;
|
||||||
import com.android.messaging.util.LogUtil;
|
import com.android.messaging.util.LogUtil;
|
||||||
import com.android.messaging.util.SafeAsyncTask;
|
import com.android.messaging.util.SafeAsyncTask;
|
||||||
@@ -47,7 +44,6 @@ import com.android.messaging.util.UiUtils;
|
|||||||
*/
|
*/
|
||||||
class ContactMediaChooser extends MediaChooser {
|
class ContactMediaChooser extends MediaChooser {
|
||||||
private View mEnabledView;
|
private View mEnabledView;
|
||||||
private View mMissingPermissionView;
|
|
||||||
private final ActivityResultLauncher<Intent> mPickerLauncher;
|
private final ActivityResultLauncher<Intent> mPickerLauncher;
|
||||||
|
|
||||||
ContactMediaChooser(final MediaPicker mediaPicker) {
|
ContactMediaChooser(final MediaPicker mediaPicker) {
|
||||||
@@ -115,7 +111,6 @@ class ContactMediaChooser extends MediaChooser {
|
|||||||
container /* root */,
|
container /* root */,
|
||||||
false /* attachToRoot */);
|
false /* attachToRoot */);
|
||||||
mEnabledView = view.findViewById(R.id.mediapicker_enabled);
|
mEnabledView = view.findViewById(R.id.mediapicker_enabled);
|
||||||
mMissingPermissionView = view.findViewById(R.id.missing_permission_view);
|
|
||||||
mEnabledView.setOnClickListener(v -> {
|
mEnabledView.setOnClickListener(v -> {
|
||||||
// Launch an external picker to pick a contact as attachment.
|
// Launch an external picker to pick a contact as attachment.
|
||||||
final Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
|
final Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
|
||||||
@@ -129,24 +124,4 @@ class ContactMediaChooser extends MediaChooser {
|
|||||||
});
|
});
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void setSelected(final boolean selected) {
|
|
||||||
super.setSelected(selected);
|
|
||||||
if (selected && !ContactUtil.hasReadContactsPermission()) {
|
|
||||||
mMediaPicker.requestPermissions(
|
|
||||||
new String[] {Manifest.permission.READ_CONTACTS},
|
|
||||||
MediaPicker.READ_CONTACT_PERMISSION_REQUEST_CODE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onRequestPermissionsResult(
|
|
||||||
final int requestCode, final String[] permissions, final int[] grantResults) {
|
|
||||||
if (requestCode == MediaPicker.READ_CONTACT_PERMISSION_REQUEST_CODE) {
|
|
||||||
final boolean permissionGranted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
|
|
||||||
mEnabledView.setVisibility(permissionGranted ? View.VISIBLE : View.GONE);
|
|
||||||
mMissingPermissionView.setVisibility(permissionGranted ? View.GONE : View.VISIBLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -205,6 +205,4 @@ abstract class MediaChooser extends BasePagerViewHolder
|
|||||||
/** Optional activity life-cycle methods to be overridden by subclasses */
|
/** Optional activity life-cycle methods to be overridden by subclasses */
|
||||||
public void onPause() { }
|
public void onPause() { }
|
||||||
public void onResume() { }
|
public void onResume() { }
|
||||||
protected void onRequestPermissionsResult(
|
|
||||||
final int requestCode, final String[] permissions, final int[] grantResults) { }
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -665,19 +665,4 @@ public class MediaPicker extends Fragment implements DraftMessageSubscriptionDat
|
|||||||
public ImmutableBindingRef<MediaPickerData> getMediaPickerDataBinding() {
|
public ImmutableBindingRef<MediaPickerData> getMediaPickerDataBinding() {
|
||||||
return BindingBase.createBindingReference(mBinding);
|
return BindingBase.createBindingReference(mBinding);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static final int CAMERA_PERMISSION_REQUEST_CODE = 1;
|
|
||||||
protected static final int LOCATION_PERMISSION_REQUEST_CODE = 2;
|
|
||||||
protected static final int RECORD_AUDIO_PERMISSION_REQUEST_CODE = 3;
|
|
||||||
protected static final int GALLERY_PERMISSION_REQUEST_CODE = 4;
|
|
||||||
protected static final int READ_CONTACT_PERMISSION_REQUEST_CODE = 5;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onRequestPermissionsResult(final int requestCode,
|
|
||||||
@NonNull final String[] permissions,
|
|
||||||
@NonNull final int[] grantResults) {
|
|
||||||
if (mSelectedChooser != null) {
|
|
||||||
mSelectedChooser.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user