62aa1b87d0
Android allows other apps to access protected content of an app without requesting the necessary permission when the app returns an Intent with FLAG_GRANT_READ_URI_PERMISSION. This regularly happens as a result of ACTION_GET_CONTENT, i.e. what we use to pick content to be attached to a message. Accessing that content only works while the receiving activity is running. Afterwards accessing the content throws a SecurityException because of the missing permission. This commit changes K-9 Mail's behavior to copy the content to a temporary file in K-9's cache directory while the activity is still running. Fixes issue 4847, 5821 This also fixes bugs related to the fact that K-9 Mail didn't save a copy of attached content in the message database. Fixes issue 1187, 3330, 4930
55 lines
1.9 KiB
XML
55 lines
1.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<RelativeLayout
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="54dip"
|
|
android:paddingRight="6dip"
|
|
android:paddingTop="6dip"
|
|
android:paddingBottom="6dip">
|
|
|
|
<ImageButton
|
|
android:id="@+id/attachment_delete"
|
|
android:src="@drawable/ic_delete"
|
|
android:layout_alignParentRight="true"
|
|
android:layout_height="42dip"
|
|
android:layout_width="42dip" />
|
|
|
|
<LinearLayout
|
|
android:layout_width="1dip"
|
|
android:layout_height="42dip"
|
|
android:layout_alignParentLeft="true"
|
|
android:layout_toLeftOf="@id/attachment_delete"
|
|
android:layout_marginLeft="6dip"
|
|
android:layout_marginRight="4dip"
|
|
android:paddingLeft="36dip"
|
|
android:gravity="center_vertical"
|
|
android:background="?attr/messageViewAttachmentBackground"
|
|
android:orientation="horizontal">
|
|
|
|
<TextView
|
|
android:id="@+id/attachment_name"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
android:textColor="?android:attr/textColorSecondary"
|
|
android:singleLine="true"
|
|
android:ellipsize="start"/>
|
|
|
|
<ProgressBar
|
|
android:id="@+id/progressBar"
|
|
style="?android:attr/progressBarStyleSmall"
|
|
android:layout_width="32dp"
|
|
android:layout_height="fill_parent"
|
|
android:layout_marginLeft="4dp"/>
|
|
|
|
</LinearLayout>
|
|
|
|
<ImageView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:src="@drawable/ic_email_attachment"
|
|
android:layout_marginLeft="1dip"
|
|
android:layout_centerVertical="true" />
|
|
|
|
</RelativeLayout>
|