fix change password activity for magic created accounts

This commit is contained in:
Daniel Gultsch 2018-03-04 20:37:42 +01:00
parent 1ae6042ca8
commit 194b8d419b
3 changed files with 49 additions and 42 deletions

View file

@ -1859,18 +1859,15 @@ public class XmppConnectionService extends Service {
public void updateAccountPasswordOnServer(final Account account, final String newPassword, final OnAccountPasswordChanged callback) {
final IqPacket iq = getIqGenerator().generateSetPassword(account, newPassword);
sendIqPacket(account, iq, new OnIqPacketReceived() {
@Override
public void onIqPacketReceived(final Account account, final IqPacket packet) {
sendIqPacket(account, iq, (a, packet) -> {
if (packet.getType() == IqPacket.TYPE.RESULT) {
account.setPassword(newPassword);
account.setOption(Account.OPTION_MAGIC_CREATE, false);
databaseBackend.updateAccount(account);
a.setPassword(newPassword);
a.setOption(Account.OPTION_MAGIC_CREATE, false);
databaseBackend.updateAccount(a);
callback.onPasswordChangeSucceeded();
} else {
callback.onPasswordChangeFailed();
}
}
});
}

View file

@ -50,7 +50,7 @@ public class ChangePasswordActivity extends XmppActivity implements XmppConnecti
void onBackendConnected() {
this.mAccount = extractAccount(getIntent());
if (this.mAccount != null && this.mAccount.isOptionSet(Account.OPTION_MAGIC_CREATE)) {
this.mCurrentPassword.setVisibility(View.GONE);
this.mCurrentPasswordLayout.setVisibility(View.GONE);
} else {
this.mCurrentPassword.setVisibility(View.VISIBLE);
}

View file

@ -152,9 +152,15 @@
android:layout_marginTop="@dimen/activity_vertical_margin"
android:visibility="gone">
<RelativeLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/card_padding_regular">
<TextView
@ -168,25 +174,29 @@
android:id="@+id/os_optimization_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/os_optimization_headline"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="@string/battery_optimizations_enabled_explained"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="right">
<Button
android:id="@+id/os_optimization_disable"
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/os_optimization_body"
android:layout_marginRight="-8dp"
android:minWidth="0dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/disable"
android:textColor="@color/accent"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
@ -565,9 +575,9 @@
android:id="@+id/other_device_keys_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/list_padding"
android:text="@string/other_devices"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:layout_margin="@dimen/list_padding"/>
android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
<LinearLayout
android:id="@+id/other_device_keys"