move key health into its own view, make key status card view standalone

This commit is contained in:
Vincent Breitmoser
2017-05-26 19:17:42 +02:00
parent 6459deb6b8
commit 005d3039b5
4 changed files with 176 additions and 164 deletions

View File

@@ -45,13 +45,13 @@ import org.sufficientlysecure.keychain.ui.EditIdentitiesActivity;
import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter; import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter;
import org.sufficientlysecure.keychain.ui.base.LoaderFragment; import org.sufficientlysecure.keychain.ui.base.LoaderFragment;
import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment; import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment;
import org.sufficientlysecure.keychain.ui.keyview.view.KeyHealthCardView;
import org.sufficientlysecure.keychain.ui.keyview.presenter.KeyHealthPresenter; import org.sufficientlysecure.keychain.ui.keyview.presenter.KeyHealthPresenter;
import org.sufficientlysecure.keychain.ui.keyview.view.LinkedIdentitiesCardView;
import org.sufficientlysecure.keychain.ui.keyview.presenter.LinkedIdentitiesPresenter; import org.sufficientlysecure.keychain.ui.keyview.presenter.LinkedIdentitiesPresenter;
import org.sufficientlysecure.keychain.ui.keyview.presenter.LinkedIdentitiesPresenter.LinkedIdsFragMvpView; import org.sufficientlysecure.keychain.ui.keyview.presenter.LinkedIdentitiesPresenter.LinkedIdsFragMvpView;
import org.sufficientlysecure.keychain.ui.keyview.view.SystemContactCardView;
import org.sufficientlysecure.keychain.ui.keyview.presenter.SystemContactPresenter; import org.sufficientlysecure.keychain.ui.keyview.presenter.SystemContactPresenter;
import org.sufficientlysecure.keychain.ui.keyview.view.KeyHealthView;
import org.sufficientlysecure.keychain.ui.keyview.view.LinkedIdentitiesCardView;
import org.sufficientlysecure.keychain.ui.keyview.view.SystemContactCardView;
import org.sufficientlysecure.keychain.util.Preferences; import org.sufficientlysecure.keychain.util.Preferences;
@@ -80,7 +80,8 @@ public class ViewKeyFragment extends LoaderFragment implements LoaderManager.Loa
SystemContactCardView mSystemContactCard; SystemContactCardView mSystemContactCard;
SystemContactPresenter mSystemContactPresenter; SystemContactPresenter mSystemContactPresenter;
KeyHealthCardView mKeyHealthCard; KeyHealthView mKeyStatusHealth;
KeyHealthPresenter mKeyHealthPresenter; KeyHealthPresenter mKeyHealthPresenter;
private long mMasterKeyId; private long mMasterKeyId;
@@ -123,7 +124,7 @@ public class ViewKeyFragment extends LoaderFragment implements LoaderManager.Loa
}); });
mSystemContactCard = (SystemContactCardView) view.findViewById(R.id.linked_system_contact_card); mSystemContactCard = (SystemContactCardView) view.findViewById(R.id.linked_system_contact_card);
mKeyHealthCard = (KeyHealthCardView) view.findViewById(R.id.subkey_status_card); mKeyStatusHealth = (KeyHealthView) view.findViewById(R.id.key_status_health);
return root; return root;
} }
@@ -161,7 +162,7 @@ public class ViewKeyFragment extends LoaderFragment implements LoaderManager.Loa
mSystemContactPresenter.startLoader(getLoaderManager()); mSystemContactPresenter.startLoader(getLoaderManager());
mKeyHealthPresenter = new KeyHealthPresenter( mKeyHealthPresenter = new KeyHealthPresenter(
getContext(), mKeyHealthCard, LOADER_ID_SUBKEY_STATUS, mMasterKeyId, mIsSecret); getContext(), mKeyStatusHealth, LOADER_ID_SUBKEY_STATUS, mMasterKeyId, mIsSecret);
mKeyHealthPresenter.startLoader(getLoaderManager()); mKeyHealthPresenter.startLoader(getLoaderManager());
} }

View File

@@ -25,13 +25,13 @@ import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes; import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes; import android.support.annotation.StringRes;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v7.widget.CardView;
import android.text.format.DateFormat; import android.text.format.DateFormat;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.R;
@@ -46,7 +46,7 @@ import org.sufficientlysecure.keychain.ui.keyview.view.KeyStatusList.KeyDisplayS
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
public class KeyHealthCardView extends CardView implements KeyHealthMvpView, OnClickListener { public class KeyHealthView extends LinearLayout implements KeyHealthMvpView, OnClickListener {
private final View vLayout; private final View vLayout;
private final TextView vTitle, vSubtitle; private final TextView vTitle, vSubtitle;
private final ImageView vIcon; private final ImageView vIcon;
@@ -61,9 +61,11 @@ public class KeyHealthCardView extends CardView implements KeyHealthMvpView, OnC
private KeyHealthClickListener keyHealthClickListener; private KeyHealthClickListener keyHealthClickListener;
public KeyHealthCardView(Context context, AttributeSet attrs) { public KeyHealthView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
setOrientation(VERTICAL);
View view = LayoutInflater.from(context).inflate(R.layout.key_health_card_content, this, true); View view = LayoutInflater.from(context).inflate(R.layout.key_health_card_content, this, true);
vLayout = view.findViewById(R.id.key_health_layout); vLayout = view.findViewById(R.id.key_health_layout);

View File

@@ -1,17 +1,10 @@
<merge <merge
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools"
tools:layout_width="match_parent"
<LinearLayout tools:layout_height="wrap_content"
android:layout_width="match_parent" tools:parentTag="LinearLayout"
android:layout_height="wrap_content" tools:orientation="vertical">
android:orientation="vertical">
<TextView
style="@style/CardViewHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Key Status" />
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
@@ -89,7 +82,7 @@
android:paddingRight="8dp" android:paddingRight="8dp"
android:id="@+id/key_insecure_layout" android:id="@+id/key_insecure_layout"
android:visibility="gone" android:visibility="gone"
tools:visibility="gone"> tools:visibility="visible">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -159,6 +152,4 @@
/> />
<!--tools:visibility="visible"--> <!--tools:visibility="visible"-->
</LinearLayout>
</merge> </merge>

View File

@@ -9,19 +9,37 @@
android:paddingRight="16dp" android:paddingRight="16dp"
android:paddingTop="16dp"> android:paddingTop="16dp">
<org.sufficientlysecure.keychain.ui.keyview.view.KeyHealthCardView <android.support.v7.widget.CardView
android:id="@+id/subkey_status_card" android:id="@+id/subkey_status_card"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
card_view:cardBackgroundColor="?attr/colorCardViewBackground" card_view:cardBackgroundColor="?attr/colorCardViewBackground"
card_view:cardElevation="2dp" card_view:cardElevation="2dp"
card_view:cardUseCompatPadding="true" card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="4dp" card_view:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/CardViewHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Key Status" />
<org.sufficientlysecure.keychain.ui.keyview.view.KeyHealthView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/key_status_health"
/> />
</LinearLayout>
</android.support.v7.widget.CardView>
<org.sufficientlysecure.keychain.ui.keyview.view.LinkedIdentitiesCardView <org.sufficientlysecure.keychain.ui.keyview.view.LinkedIdentitiesCardView
android:id="@+id/card_linked_ids" android:id="@+id/card_linked_ids"
android:layout_width="match_parent" android:layout_width="match_parent"