some linked id ui fine tuning

This commit is contained in:
Vincent Breitmoser
2015-03-26 13:53:43 +01:00
parent 3edf47c5de
commit aa6d0dd867
44 changed files with 1116 additions and 154 deletions

View File

@@ -112,7 +112,7 @@ public class DnsResource extends LinkedCookieResource {
@Override
public @DrawableRes int getDisplayIcon() {
return R.drawable.dns;
return R.drawable.linked_dns;
}
@Override

View File

@@ -65,7 +65,7 @@ public class GenericHttpsResource extends LinkedCookieResource {
@Override
public @DrawableRes
int getDisplayIcon() {
return R.drawable.ssl_lock;
return R.drawable.linked_https;
}
@Override

View File

@@ -182,7 +182,7 @@ public class GithubResource extends LinkedCookieResource {
@Override
public @DrawableRes
int getDisplayIcon() {
return R.drawable.github;
return R.drawable.linked_github;
}
@Override

View File

@@ -108,7 +108,7 @@ public class TwitterResource extends LinkedCookieResource {
@Override
public @DrawableRes int getDisplayIcon() {
return R.drawable.twitter;
return R.drawable.linked_twitter;
}
@Override

View File

@@ -25,10 +25,11 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.TextSwitcher;
import android.widget.ViewAnimator;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.Constants.key;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.CertifyResult;
import org.sufficientlysecure.keychain.operations.results.LinkedVerifyResult;
@@ -180,16 +181,12 @@ public class LinkedIdViewFragment extends Fragment implements
private void loadIdentity(RawLinkedIdentity linkedId, int certStatus) {
mLinkedId = linkedId;
setShowVerifying(false);
if (mLinkedId instanceof LinkedIdentity) {
LinkedResource res = ((LinkedIdentity) mLinkedId).mResource;
mLinkedResource = (LinkedCookieResource) res;
}
if (!mIsSecret) {
mViewHolder.mLinkedIdHolder.vVerified.setVisibility(View.VISIBLE);
switch (certStatus) {
case Certs.VERIFIED_SECRET:
KeyFormattingUtils.setStatusImage(mContext, mViewHolder.mLinkedIdHolder.vVerified,
@@ -204,12 +201,12 @@ public class LinkedIdViewFragment extends Fragment implements
null, State.INVALID, KeyFormattingUtils.DEFAULT_COLOR);
break;
}
} else {
mViewHolder.mLinkedIdHolder.vVerified.setVisibility(View.GONE);
}
mViewHolder.mLinkedIdHolder.setData(mContext, mLinkedId);
setShowVerifying(false);
// no resource, nothing further we can do…
if (mLinkedResource == null) {
mViewHolder.vButtonView.setVisibility(View.GONE);
@@ -255,7 +252,7 @@ public class LinkedIdViewFragment extends Fragment implements
private final View vButtonBack;
private final ViewAnimator vProgress;
private final TextView vText;
private final TextSwitcher vText;
ViewHolder(View root) {
vLinkedCerts = (CertListWidget) root.findViewById(R.id.linked_id_certs);
@@ -274,18 +271,18 @@ public class LinkedIdViewFragment extends Fragment implements
vItemCertified = (ViewAnimator) root.findViewById(R.id.linked_id_certified);
vProgress = (ViewAnimator) root.findViewById(R.id.linked_cert_progress);
vText = (TextView) root.findViewById(R.id.linked_cert_text);
vText = (TextSwitcher) root.findViewById(R.id.linked_cert_text);
}
enum VerifyState {
VERIFYING, VERIFY_OK, VERIFY_ERROR, CERTIFYING
}
void setVerifyingState(VerifyState state, boolean isSecret) {
void setVerifyingState(Context context, VerifyState state, boolean isSecret) {
switch (state) {
case VERIFYING:
vProgress.setDisplayedChild(0);
vText.setText("Verifying");
vText.setText(context.getString(R.string.linked_text_verifying));
vKeySpinner.setVisibility(View.GONE);
break;
@@ -303,25 +300,30 @@ public class LinkedIdViewFragment extends Fragment implements
case VERIFY_ERROR:
showButton(1);
vProgress.setDisplayedChild(2);
vText.setText("Error");
vText.setText(context.getString(R.string.linked_text_error));
vKeySpinner.setVisibility(View.GONE);
break;
case CERTIFYING:
vProgress.setDisplayedChild(0);
vText.setText("Confirming");
vText.setText(context.getString(R.string.linked_text_confirming));
vKeySpinner.setVisibility(View.GONE);
break;
}
}
void showVerifyingContainer(boolean show, boolean isSecret) {
void showVerifyingContainer(Context context, boolean show, boolean isSecret) {
if (vVerifyingContainer.getDisplayedChild() == (show ? 1 : 0)) {
return;
}
vVerifyingContainer.setInAnimation(context, show ? R.anim.fade_in_up : R.anim.fade_in_down);
vVerifyingContainer.setOutAnimation(context, show ? R.anim.fade_out_up : R.anim.fade_out_down);
vVerifyingContainer.setDisplayedChild(show ? 1 : 0);
vItemCertified.setDisplayedChild(show && !isSecret ? 1 : 0);
vItemCertified.setInAnimation(context, show ? R.anim.fade_in_up : R.anim.fade_in_down);
vItemCertified.setOutAnimation(context, show ? R.anim.fade_out_up : R.anim.fade_out_down);
vItemCertified.setDisplayedChild(show || isSecret ? 1 : 0);
}
void showButton(int which) {
@@ -363,7 +365,7 @@ public class LinkedIdViewFragment extends Fragment implements
mViewHolder.showButton(0);
mViewHolder.vKeySpinner.setVisibility(View.GONE);
mViewHolder.showVerifyingContainer(false, mIsSecret);
mViewHolder.showVerifyingContainer(mContext, false, mIsSecret);
return;
}
@@ -376,7 +378,7 @@ public class LinkedIdViewFragment extends Fragment implements
manager.beginTransaction().addToBackStack("verification").commit();
manager.executePendingTransactions();
manager.addOnBackStackChangedListener(this);
mViewHolder.showVerifyingContainer(true, mIsSecret);
mViewHolder.showVerifyingContainer(mContext, true, mIsSecret);
}
@@ -449,7 +451,7 @@ public class LinkedIdViewFragment extends Fragment implements
setShowVerifying(true);
mViewHolder.vKeySpinner.setVisibility(View.GONE);
mViewHolder.setVerifyingState(VerifyState.VERIFYING, mIsSecret);
mViewHolder.setVerifyingState(mContext, VerifyState.VERIFYING, mIsSecret);
mInProgress = new AsyncTask<Void,Void,LinkedVerifyResult>() {
@Override
@@ -474,10 +476,10 @@ public class LinkedIdViewFragment extends Fragment implements
return;
}
if (result.success()) {
mViewHolder.vText.setText(mLinkedResource.getVerifiedText(mIsSecret));
mViewHolder.setVerifyingState(VerifyState.VERIFY_OK, mIsSecret);
mViewHolder.vText.setText(getString(mLinkedResource.getVerifiedText(mIsSecret)));
mViewHolder.setVerifyingState(mContext, VerifyState.VERIFY_OK, mIsSecret);
} else {
mViewHolder.setVerifyingState(VerifyState.VERIFY_ERROR, mIsSecret);
mViewHolder.setVerifyingState(mContext, VerifyState.VERIFY_ERROR, mIsSecret);
result.createNotify(getActivity()).show();
}
mInProgress = null;
@@ -493,8 +495,12 @@ public class LinkedIdViewFragment extends Fragment implements
}
// get the user's passphrase for this key (if required)
Passphrase passphrase;
long certifyKeyId = mViewHolder.vKeySpinner.getSelectedItemId();
if (certifyKeyId == key.none || certifyKeyId == key.symmetric) {
Notify.create(getActivity(), R.string.select_key_to_certify, Style.ERROR).show();
}
Passphrase passphrase;
try {
passphrase = PassphraseCacheService.getCachedPassphrase(
getActivity(), certifyKeyId, certifyKeyId);
@@ -541,7 +547,7 @@ public class LinkedIdViewFragment extends Fragment implements
return;
}
mViewHolder.setVerifyingState(VerifyState.CERTIFYING, false);
mViewHolder.setVerifyingState(mContext, VerifyState.CERTIFYING, false);
Bundle data = new Bundle();
{
@@ -577,6 +583,7 @@ public class LinkedIdViewFragment extends Fragment implements
if (message.arg1 == MessageStatus.OKAY.ordinal()) {
CertifyResult result = data.getParcelable(CertifyResult.EXTRA_RESULT);
result.createNotify(getActivity()).show();
// no need to do anything else, we will get a loader refresh!
}
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="-10" android:toYDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="200"
/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="200"
/>
</set>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:interpolator="@android:anim/bounce_interpolator"
android:duration="400"
/>
</set>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="150"
/>
</set>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0.0" android:toYDelta="-10"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="200"
/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="150"
/>
</set>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -12,7 +12,6 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:minHeight="?android:attr/listPreferredItemHeight"
>
<TextView

View File

@@ -12,30 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
<TextView
android:drawableLeft="@drawable/linked_dns"
android:drawablePadding="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<ImageView
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/dns"
android:layout_gravity="center_vertical" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_dns_1_1" />
</LinearLayout>
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_dns_1_1" />
<TextView
android:layout_width="wrap_content"

View File

@@ -12,32 +12,17 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_marginTop="16dp"
android:layout_width="match_parent"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/certify_key_action_certify_image"
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/github"
android:layout_gravity="center_vertical" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_github_1_1" />
</LinearLayout>
android:layout_gravity="center_vertical"
android:drawableLeft="@drawable/linked_github"
android:drawablePadding="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_github_1_1" />
<TextView
android:layout_width="wrap_content"

View File

@@ -12,31 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/certify_key_action_certify_image"
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/ssl_lock"
android:layout_gravity="center_vertical" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_https_1_1" />
</LinearLayout>
android:drawableLeft="@drawable/linked_https"
android:drawablePadding="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_https_1_1" />
<TextView
android:layout_width="wrap_content"

View File

@@ -12,32 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_marginTop="16dp"
android:layout_width="match_parent"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/certify_key_action_certify_image"
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/twitter"
android:layout_gravity="center_vertical" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_twitter_1_1" />
</LinearLayout>
android:drawableLeft="@drawable/linked_twitter"
android:drawablePadding="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/linked_create_twitter_1_1" />
<TextView
android:layout_width="wrap_content"

View File

@@ -58,7 +58,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:buttonBarButtonStyle"
android:text="Verify"
android:text="@string/linked_button_verify"
android:id="@+id/button_verify"
/>
@@ -66,7 +66,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:buttonBarButtonStyle"
android:text="Retry"
android:text="@string/linked_button_retry"
android:id="@+id/button_retry"
/>

View File

@@ -14,7 +14,7 @@
android:id="@+id/linked_id_type_icon"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
android:src="@drawable/dns"
tools:src="@drawable/linked_dns"
android:layout_gravity="center_vertical"
android:scaleType="fitCenter" />
@@ -32,16 +32,18 @@
android:id="@+id/linked_id_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textAppearance="?android:attr/textAppearanceMedium" />
tools:text="Title"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<TextView
android:id="@+id/linked_id_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/tertiary_text_light"
android:text="comment"
android:textAppearance="?android:attr/textAppearanceSmall" />
tools:text="comment"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
</LinearLayout>

View File

@@ -28,7 +28,7 @@
style="@style/CardViewHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Linked Identity" />
android:text="@string/card_linked_identity" />
<include layout="@layout/linked_id_item" />
@@ -36,10 +36,9 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/linked_verify_container"
android:inAnimation="@anim/fade_in"
android:outAnimation="@anim/fade_out"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:measureAllChildren="false"
>
<include layout="@layout/cert_list_widget" />
@@ -47,28 +46,33 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:singleLine="true">
android:baselineAligned="false"
android:animateLayoutChanges="true"
>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_vertical"
<TextSwitcher
android:id="@+id/linked_cert_text"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_marginLeft="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_height="wrap_content"
android:inAnimation="@anim/fade_in_quick"
android:outAnimation="@anim/fade_out_quick"
android:layout_weight="1">
<TextView
android:id="@+id/linked_cert_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Verifying…"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium" />
</TextSwitcher>
<ViewAnimator
android:layout_width="22dp"
@@ -137,7 +141,7 @@
android:id="@+id/button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="View"
android:text="@string/linked_button_view"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle"
/>
@@ -152,21 +156,21 @@
android:id="@+id/button_verify"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Verify"
android:text="@string/linked_button_verify"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
<Button
android:id="@+id/button_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Retry"
android:text="@string/linked_button_retry"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
<Button
android:id="@+id/button_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Confirm"
android:text="@string/linked_button_confirm"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
</ViewAnimator>

View File

@@ -48,7 +48,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -58,15 +57,16 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/ssl_lock"
android:src="@drawable/linked_https"
android:layout_gravity="center_vertical" />
<TextView
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
android:text="Website (HTTPS)"
android:text="@string/linked_title_https"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -83,7 +83,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -92,16 +91,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/dns"
android:src="@drawable/linked_dns"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
android:text="Domain Name (DNS)"
android:text="@string/linked_title_dns"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -118,7 +118,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -127,16 +126,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/twitter"
android:src="@drawable/linked_twitter"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
android:text="Twitter"
android:text="@string/linked_title_twitter"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -153,7 +153,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -162,16 +161,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
android:src="@drawable/github"
android:src="@drawable/linked_github"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
android:text="Github"
android:text="@string/linked_title_github"
android:layout_weight="1"
android:gravity="center_vertical" />

View File

@@ -1354,8 +1354,16 @@
<string name="section_linked_identities">"Linked Identities"</string>
<string name="btn_finish">"Finish"</string>
<string name="linked_title_https">Website (HTTPS)</string>
<string name="linked_title_dns">Domain Name</string>
<string name="linked_title_dns">Domain Name (DNS)</string>
<string name="linked_title_github">Github</string>
<string name="linked_title_twitter">Twitter</string>
<string name="card_linked_identity">Linked Identity</string>
<string name="linked_button_verify">Verify</string>
<string name="linked_button_retry">Retry</string>
<string name="linked_button_confirm">Confirm</string>
<string name="linked_button_view">View</string>
<string name="linked_text_verifying">Verifying…</string>
<string name="linked_text_error">Error</string>
<string name="linked_text_confirming">Confirming…</string>
</resources>