// Path: sample/src/main/java/com/tresorit/zerokitsdk/fragment/DecryptFragment.java
// public class DecryptFragment extends Fragment {
// 
//     @SuppressWarnings("WeakerAccess")
//     @Inject
//     DecryptViewModel viewModel;
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         DaggerDecryptComponent.builder().applicationComponent(ZerokitApplication.get(getActivity()).component()).build().inject(this);
//         FragmentDecryptBinding binding = FragmentDecryptBinding.inflate(inflater, container, false);
//         binding.setViewmodel(viewModel);
//         return binding.getRoot();
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/module/DecryptModule.java
// @Module
// public class DecryptModule {
//     @Provides
//     @ActivityScope
//     public DecryptViewModel provideEncryptTextViewModel(Zerokit zerokit) {
//         return new DecryptViewModel(zerokit);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/DecryptViewModel.java
// 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("");
//             }
//         });
//     }
// 
// }


import com.tresorit.zerokitsdk.fragment.DecryptFragment;
import com.tresorit.zerokitsdk.module.DecryptModule;
import com.tresorit.zerokitsdk.scopes.ActivityScope;
import com.tresorit.zerokitsdk.viewmodel.DecryptViewModel;
import dagger.Component;
package com.tresorit.zerokitsdk.component;



@ActivityScope
@Component(
        modules = {
                DecryptModule.class
        },
        dependencies = {
                ApplicationComponent.class
        }
)
public interface DecryptComponent {
    void inject(DecryptFragment fragment);
// Path: sample/src/main/java/com/tresorit/zerokitsdk/fragment/DecryptFragment.java
// public class DecryptFragment extends Fragment {
// 
//     @SuppressWarnings("WeakerAccess")
//     @Inject
//     DecryptViewModel viewModel;
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         DaggerDecryptComponent.builder().applicationComponent(ZerokitApplication.get(getActivity()).component()).build().inject(this);
//         FragmentDecryptBinding binding = FragmentDecryptBinding.inflate(inflater, container, false);
//         binding.setViewmodel(viewModel);
//         return binding.getRoot();
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/module/DecryptModule.java
// @Module
// public class DecryptModule {
//     @Provides
//     @ActivityScope
//     public DecryptViewModel provideEncryptTextViewModel(Zerokit zerokit) {
//         return new DecryptViewModel(zerokit);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/DecryptViewModel.java
// 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("");
//             }
//         });
//     }
// 
// }


// Path: sample/src/main/java/com/tresorit/zerokitsdk/component/DecryptComponent.java
import com.tresorit.zerokitsdk.fragment.DecryptFragment;
import com.tresorit.zerokitsdk.module.DecryptModule;
import com.tresorit.zerokitsdk.scopes.ActivityScope;
import com.tresorit.zerokitsdk.viewmodel.DecryptViewModel;
import dagger.Component;

package com.tresorit.zerokitsdk.component;



@ActivityScope
@Component(
        modules = {
                DecryptModule.class
        },
        dependencies = {
                ApplicationComponent.class
        }
)
public interface DecryptComponent {
    void inject(DecryptFragment fragment);
    DecryptViewModel viewmodel();