tls-psk: switch layouts in animator by id
This commit is contained in:
parent
f76a0f47b5
commit
9a37fabb45
|
@ -52,7 +52,6 @@ import android.view.ViewGroup;
|
|||
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.ViewAnimator;
|
||||
|
||||
import com.google.zxing.client.android.Intents;
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
|
@ -67,16 +66,11 @@ import org.sufficientlysecure.keychain.ui.transfer.presenter.TransferPresenter.T
|
|||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
|
||||
import org.sufficientlysecure.keychain.ui.widget.ConnectionStatusView;
|
||||
import org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator;
|
||||
|
||||
|
||||
@RequiresApi(api = VERSION_CODES.LOLLIPOP)
|
||||
public class TransferFragment extends Fragment implements TransferMvpView {
|
||||
public static final int VIEW_WAITING = 0;
|
||||
public static final int VIEW_CONNECTING = 1;
|
||||
public static final int VIEW_CONNECTED = 2;
|
||||
public static final int VIEW_RECEIVING = 3;
|
||||
public static final int VIEW_NO_WIFI = 4;
|
||||
|
||||
public static final int REQUEST_CODE_SCAN = 1;
|
||||
public static final int LOADER_ID = 1;
|
||||
|
||||
|
@ -85,7 +79,7 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
|||
|
||||
private ImageView vQrCodeImage;
|
||||
private TransferPresenter presenter;
|
||||
private ViewAnimator vTransferAnimator;
|
||||
private ToolableViewAnimator vTransferAnimator;
|
||||
private TextView vConnectionStatusText1;
|
||||
private TextView vConnectionStatusText2;
|
||||
private ConnectionStatusView vConnectionStatusView1;
|
||||
|
@ -113,7 +107,7 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.transfer_fragment, container, false);
|
||||
|
||||
vTransferAnimator = (ViewAnimator) view.findViewById(R.id.transfer_animator);
|
||||
vTransferAnimator = (ToolableViewAnimator) view.findViewById(R.id.transfer_animator);
|
||||
|
||||
vConnectionStatusText1 = (TextView) view.findViewById(R.id.connection_status_1);
|
||||
vConnectionStatusText2 = (TextView) view.findViewById(R.id.connection_status_2);
|
||||
|
@ -203,17 +197,17 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
|||
|
||||
@Override
|
||||
public void showNotOnWifi() {
|
||||
vTransferAnimator.setDisplayedChild(VIEW_NO_WIFI);
|
||||
vTransferAnimator.setDisplayedChildId(R.id.transfer_layout_no_wifi);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showWaitingForConnection() {
|
||||
vTransferAnimator.setDisplayedChild(VIEW_WAITING);
|
||||
vTransferAnimator.setDisplayedChildId(R.id.transfer_layout_waiting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showEstablishingConnection() {
|
||||
vTransferAnimator.setDisplayedChild(VIEW_CONNECTING);
|
||||
vTransferAnimator.setDisplayedChildId(R.id.transfer_layout_connecting);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -226,12 +220,12 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
|||
vConnectionStatusView1.setConnected(true);
|
||||
vConnectionStatusView2.setConnected(true);
|
||||
|
||||
vTransferAnimator.setDisplayedChild(VIEW_CONNECTED);
|
||||
vTransferAnimator.setDisplayedChildId(R.id.transfer_layout_connected);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showReceivingKeys() {
|
||||
vTransferAnimator.setDisplayedChild(VIEW_RECEIVING);
|
||||
vTransferAnimator.setDisplayedChildId(R.id.transfer_layout_passive);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -99,4 +99,21 @@ public class ToolableViewAnimator extends ViewAnimator {
|
|||
setOutAnimation(savedOutAnim);
|
||||
}
|
||||
|
||||
public void setDisplayedChildId(int id) {
|
||||
if (getDisplayedChildId() == id) {
|
||||
return;
|
||||
}
|
||||
for (int i = 0, count = getChildCount(); i < count; i++) {
|
||||
if (getChildAt(i).getId() == id) {
|
||||
setDisplayedChild(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
String name = getResources().getResourceEntryName(id);
|
||||
throw new IllegalArgumentException("No view with ID " + name);
|
||||
}
|
||||
|
||||
public int getDisplayedChildId() {
|
||||
return getChildAt(getDisplayedChild()).getId();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/transfer_layout_waiting"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
@ -92,6 +93,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/transfer_layout_connecting"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
@ -116,6 +118,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/transfer_layout_connected"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
|
@ -205,6 +208,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/transfer_layout_passive"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
|
@ -275,6 +279,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/transfer_layout_no_wifi"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
|
Loading…
Reference in a new issue