use key_list_item layout for RequestKeyPermissionActivity

This commit is contained in:
Vincent Breitmoser
2018-07-13 17:22:27 +02:00
parent aa9132b4c6
commit a48efc6835
4 changed files with 20 additions and 44 deletions

View File

@@ -38,8 +38,10 @@ import android.widget.TextView;
import org.openintents.openpgp.util.OpenPgpUtils.UserId; import org.openintents.openpgp.util.OpenPgpUtils.UserId;
import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.model.SubKey.UnifiedKeyInfo;
import org.sufficientlysecure.keychain.remote.ui.RequestKeyPermissionPresenter.RequestKeyPermissionMvpView; import org.sufficientlysecure.keychain.remote.ui.RequestKeyPermissionPresenter.RequestKeyPermissionMvpView;
import org.sufficientlysecure.keychain.ui.dialog.CustomAlertDialogBuilder; import org.sufficientlysecure.keychain.ui.dialog.CustomAlertDialogBuilder;
import org.sufficientlysecure.keychain.ui.util.KeyInfoFormatter;
import org.sufficientlysecure.keychain.ui.util.ThemeChanger; import org.sufficientlysecure.keychain.ui.util.ThemeChanger;
@@ -131,29 +133,29 @@ public class RequestKeyPermissionActivity extends FragmentActivity {
@NonNull @NonNull
private RequestKeyPermissionMvpView createMvpView(View view) { private RequestKeyPermissionMvpView createMvpView(View view) {
final TextView titleText = view.findViewById(R.id.select_identity_key_title); final TextView titleText = view.findViewById(R.id.select_identity_key_title);
final TextView keyUserIdView = view.findViewById(R.id.select_key_item_name); final TextView keyNameView = view.findViewById(R.id.key_list_item_name);
final TextView keyEmailView = view.findViewById(R.id.key_list_item_email);
final TextView keyCreationDateView = view.findViewById(R.id.key_list_item_creation);
final ImageView iconClientApp = view.findViewById(R.id.icon_client_app); final ImageView iconClientApp = view.findViewById(R.id.icon_client_app);
final View keyUnavailableWarning = view.findViewById(R.id.requested_key_unavailable_warning); final View keyUnavailableWarning = view.findViewById(R.id.requested_key_unavailable_warning);
final View keyInfoLayout = view.findViewById(R.id.key_info_layout);
return new RequestKeyPermissionMvpView() { return new RequestKeyPermissionMvpView() {
@Override @Override
public void switchToLayoutRequestKeyChoice() { public void switchToLayoutRequestKeyChoice() {
keyInfoLayout.setVisibility(View.VISIBLE);
keyUnavailableWarning.setVisibility(View.GONE); keyUnavailableWarning.setVisibility(View.GONE);
buttonAllow.setEnabled(true); buttonAllow.setEnabled(true);
} }
@Override @Override
public void switchToLayoutNoSecret() { public void switchToLayoutNoSecret() {
keyInfoLayout.setVisibility(View.VISIBLE);
keyUnavailableWarning.setVisibility(View.VISIBLE); keyUnavailableWarning.setVisibility(View.VISIBLE);
buttonAllow.setEnabled(false); buttonAllow.setEnabled(false);
} }
@Override @Override
public void displayKeyInfo(String userIdName) { public void displayKeyInfo(KeyInfoFormatter keyInfoFormatter) {
keyUserIdView.setText(userIdName); keyInfoFormatter.formatUserId(keyNameView, keyEmailView);
keyInfoFormatter.formatCreationDate(keyCreationDateView);
} }
@Override @Override

View File

@@ -34,6 +34,7 @@ import org.sufficientlysecure.keychain.daos.KeyRepository;
import org.sufficientlysecure.keychain.daos.KeyRepository.NotFoundException; import org.sufficientlysecure.keychain.daos.KeyRepository.NotFoundException;
import org.sufficientlysecure.keychain.remote.ApiPermissionHelper; import org.sufficientlysecure.keychain.remote.ApiPermissionHelper;
import org.sufficientlysecure.keychain.remote.ApiPermissionHelper.WrongPackageCertificateException; import org.sufficientlysecure.keychain.remote.ApiPermissionHelper.WrongPackageCertificateException;
import org.sufficientlysecure.keychain.ui.util.KeyInfoFormatter;
import timber.log.Timber; import timber.log.Timber;
@@ -100,7 +101,9 @@ class RequestKeyPermissionPresenter {
} }
masterKeyId = secretKeyRingOrPublicFallback.master_key_id(); masterKeyId = secretKeyRingOrPublicFallback.master_key_id();
view.displayKeyInfo(secretKeyRingOrPublicFallback.name()); KeyInfoFormatter keyInfoFormatter = new KeyInfoFormatter(context);
keyInfoFormatter.setKeyInfo(secretKeyRingOrPublicFallback);
view.displayKeyInfo(keyInfoFormatter);
if (secretKeyRingOrPublicFallback.has_any_secret()) { if (secretKeyRingOrPublicFallback.has_any_secret()) {
view.switchToLayoutRequestKeyChoice(); view.switchToLayoutRequestKeyChoice();
@@ -177,7 +180,7 @@ class RequestKeyPermissionPresenter {
void setTitleText(String text); void setTitleText(String text);
void setTitleClientIcon(Drawable drawable); void setTitleClientIcon(Drawable drawable);
void displayKeyInfo(String userIdName); void displayKeyInfo(KeyInfoFormatter keyInfoFormatter);
void finish(); void finish();
void finishAsCancelled(); void finishAsCancelled();

View File

@@ -80,44 +80,14 @@
tools:text="@string/request_permission_msg" tools:text="@string/request_permission_msg"
/> />
<LinearLayout <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:orientation="horizontal" android:text="@string/requested_key_label"
android:background="?selectableItemBackground" android:textAppearance="?android:attr/textAppearanceSmall" />
android:id="@+id/key_info_layout"
>
<ImageView <include layout="@layout/key_list_item" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="8dp"
android:paddingRight="8dp"
android:src="@drawable/ic_vpn_key_grey_24dp"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/requested_key_label"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/select_key_item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Alice Skywalker"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"

View File

@@ -10,8 +10,7 @@
android:orientation="horizontal" android:orientation="horizontal"
android:background="@drawable/list_item_ripple" android:background="@drawable/list_item_ripple"
android:paddingLeft="12dp" android:paddingLeft="12dp"
android:paddingRight="12dp" android:paddingRight="12dp">
tools:layout_marginTop="30dp">
<ImageView <ImageView
android:layout_width="24dp" android:layout_width="24dp"
@@ -67,6 +66,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:padding="16dp" android:padding="16dp"
android:visibility="gone"
tools:visibility="visible"
tools:src="@drawable/status_signature_revoked_cutout_24dp" /> tools:src="@drawable/status_signature_revoked_cutout_24dp" />
</LinearLayout> </LinearLayout>