package com.tresorit.zerokitsdk.viewmodel; import android.databinding.BaseObservable; import android.databinding.ObservableField; import android.view.View; import com.tresorit.zerokit.Zerokit; import com.tresorit.zerokit.call.Action; import com.tresorit.zerokit.response.ResponseZerokitError; import javax.inject.Inject; public class DecryptViewModel extends BaseObservable { @SuppressWarnings("WeakerAccess") public final View.OnClickListener clickListenerDecrypt; @SuppressWarnings("WeakerAccess") public final ObservableField<Boolean> inProgressDecrypt; @SuppressWarnings("WeakerAccess") public final ObservableField<String> textEncrypted; @SuppressWarnings("WeakerAccess") public final ObservableField<String> textDecrypted; private final Zerokit zerokit; @Inject public DecryptViewModel(Zerokit zerokit) { this.zerokit = zerokit; this.inProgressDecrypt = new ObservableField<>(false); this.textEncrypted = new ObservableField<>(); this.textDecrypted = new ObservableField<>(); this.clickListenerDecrypt = new View.OnClickListener() { @Override public void onClick(View v) { decrypt(textEncrypted.get()); } }; } @SuppressWarnings("WeakerAccess") void decrypt(String cipherText){ inProgressDecrypt.set(true); zerokit.decrypt(cipherText).enqueue(new Action<String>() { @Override public void call(String decryptedText) { inProgressDecrypt.set(false); textDecrypted.set(decryptedText); } }, new Action<ResponseZerokitError>() { @Override public void call(ResponseZerokitError responseError) { inProgressDecrypt.set(false); textDecrypted.set(""); } }); } }