// Path: sample/src/main/java/com/tresorit/zerokitsdk/fragment/EncryptTextFragment.java
// public class EncryptTextFragment extends Fragment {
// 
//     @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
//     @Inject
//     EncryptTextViewModel viewModel;
// 
//     @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
//     @Inject
//     EventBus eventBus;
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//         DaggerEncryptTextComponent.builder().applicationComponent(ZerokitApplication.get(getActivity()).component()).build().inject(this);
//         FragmentEncryptTextBinding binding = FragmentEncryptTextBinding.inflate(inflater, container, false);
//         binding.setViewmodel(viewModel);
//         return binding.getRoot();
//     }
// 
//     @Override
//     public void onStart() {
//         super.onStart();
//         eventBus.register(viewModel);
//     }
// 
//     @Override
//     public void onStop() {
//         super.onStop();
//         eventBus.unregister(viewModel);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/module/EncryptTextModule.java
// @Module
// public class EncryptTextModule {
//     @Provides
//     @ActivityScope
//     public EncryptTextViewModel provideEncryptTextViewModel(Zerokit zerokit, EventBus eventBus) {
//         return new EncryptTextViewModel(zerokit, eventBus);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/EncryptTextViewModel.java
// public class EncryptTextViewModel extends BaseObservable {
// 
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerEncrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerDecrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerCopy;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgressEncrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgressDecrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> encryptClicked;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textOriginal;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textEncrypted;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textDecrypted;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textSummary;
// 
//     private final Zerokit zerokit;
// 
//     @SuppressWarnings("WeakerAccess")
//     String tresorId;
// 
//     @Inject
//     public EncryptTextViewModel(Zerokit zerokit, final EventBus eventBus) {
//         this.zerokit = zerokit;
// 
//         this.inProgressEncrypt = new ObservableField<>(false);
//         this.inProgressDecrypt = new ObservableField<>(false);
//         this.encryptClicked = new ObservableField<>(false);
//         this.textOriginal = new ObservableField<>();
//         this.textEncrypted = new ObservableField<>();
//         this.textSummary = new ObservableField<>();
//         this.textDecrypted = new ObservableField<>();
//         this.clickListenerEncrypt = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 encryptClicked.set(true);
//                 encrypt(tresorId, textOriginal.get());
//             }
//         };
//         this.clickListenerDecrypt = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 decrypt(textEncrypted.get());
//             }
//         };
//         this.clickListenerCopy = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 eventBus.post(new CopyEncryptedTextMessage(textEncrypted.get()));
//             }
//         };
//     }
// 
//     @SuppressWarnings("WeakerAccess")
//     void encrypt(String tresorId, String text) {
//         inProgressEncrypt.set(true);
//         zerokit.encrypt(tresorId, text).enqueue(new Action<String>() {
//             @Override
//             public void call(String encryptedText) {
//                 inProgressEncrypt.set(false);
//                 textEncrypted.set(encryptedText);
//             }
//         }, new Action<ResponseZerokitError>() {
//             @Override
//             public void call(ResponseZerokitError responseZerokitError) {
//                 inProgressEncrypt.set(false);
//             }
//         });
//     }
// 
//     @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("");
//             }
//         });
//     }
// 
//     @Subscribe
//     @SuppressWarnings("unused")
//     public void onEvent(CreateTresorFinishedMessage message) {
//         tresorId = message.getTresorId();
//         textSummary.set("Tresor ID: " + message.getTresorId());
//     }
// 
// }


import com.tresorit.zerokitsdk.fragment.EncryptTextFragment;
import com.tresorit.zerokitsdk.module.EncryptTextModule;
import com.tresorit.zerokitsdk.scopes.ActivityScope;
import com.tresorit.zerokitsdk.viewmodel.EncryptTextViewModel;
import dagger.Component;
package com.tresorit.zerokitsdk.component;



@ActivityScope
@Component(
        modules = {
                EncryptTextModule.class
        },
        dependencies = {
                ApplicationComponent.class
        }
)
public interface EncryptTextComponent {
    void inject(EncryptTextFragment fragment);
// Path: sample/src/main/java/com/tresorit/zerokitsdk/fragment/EncryptTextFragment.java
// public class EncryptTextFragment extends Fragment {
// 
//     @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
//     @Inject
//     EncryptTextViewModel viewModel;
// 
//     @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
//     @Inject
//     EventBus eventBus;
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//         DaggerEncryptTextComponent.builder().applicationComponent(ZerokitApplication.get(getActivity()).component()).build().inject(this);
//         FragmentEncryptTextBinding binding = FragmentEncryptTextBinding.inflate(inflater, container, false);
//         binding.setViewmodel(viewModel);
//         return binding.getRoot();
//     }
// 
//     @Override
//     public void onStart() {
//         super.onStart();
//         eventBus.register(viewModel);
//     }
// 
//     @Override
//     public void onStop() {
//         super.onStop();
//         eventBus.unregister(viewModel);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/module/EncryptTextModule.java
// @Module
// public class EncryptTextModule {
//     @Provides
//     @ActivityScope
//     public EncryptTextViewModel provideEncryptTextViewModel(Zerokit zerokit, EventBus eventBus) {
//         return new EncryptTextViewModel(zerokit, eventBus);
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/EncryptTextViewModel.java
// public class EncryptTextViewModel extends BaseObservable {
// 
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerEncrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerDecrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListenerCopy;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgressEncrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgressDecrypt;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> encryptClicked;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textOriginal;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textEncrypted;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textDecrypted;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textSummary;
// 
//     private final Zerokit zerokit;
// 
//     @SuppressWarnings("WeakerAccess")
//     String tresorId;
// 
//     @Inject
//     public EncryptTextViewModel(Zerokit zerokit, final EventBus eventBus) {
//         this.zerokit = zerokit;
// 
//         this.inProgressEncrypt = new ObservableField<>(false);
//         this.inProgressDecrypt = new ObservableField<>(false);
//         this.encryptClicked = new ObservableField<>(false);
//         this.textOriginal = new ObservableField<>();
//         this.textEncrypted = new ObservableField<>();
//         this.textSummary = new ObservableField<>();
//         this.textDecrypted = new ObservableField<>();
//         this.clickListenerEncrypt = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 encryptClicked.set(true);
//                 encrypt(tresorId, textOriginal.get());
//             }
//         };
//         this.clickListenerDecrypt = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 decrypt(textEncrypted.get());
//             }
//         };
//         this.clickListenerCopy = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 eventBus.post(new CopyEncryptedTextMessage(textEncrypted.get()));
//             }
//         };
//     }
// 
//     @SuppressWarnings("WeakerAccess")
//     void encrypt(String tresorId, String text) {
//         inProgressEncrypt.set(true);
//         zerokit.encrypt(tresorId, text).enqueue(new Action<String>() {
//             @Override
//             public void call(String encryptedText) {
//                 inProgressEncrypt.set(false);
//                 textEncrypted.set(encryptedText);
//             }
//         }, new Action<ResponseZerokitError>() {
//             @Override
//             public void call(ResponseZerokitError responseZerokitError) {
//                 inProgressEncrypt.set(false);
//             }
//         });
//     }
// 
//     @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("");
//             }
//         });
//     }
// 
//     @Subscribe
//     @SuppressWarnings("unused")
//     public void onEvent(CreateTresorFinishedMessage message) {
//         tresorId = message.getTresorId();
//         textSummary.set("Tresor ID: " + message.getTresorId());
//     }
// 
// }


// Path: sample/src/main/java/com/tresorit/zerokitsdk/component/EncryptTextComponent.java
import com.tresorit.zerokitsdk.fragment.EncryptTextFragment;
import com.tresorit.zerokitsdk.module.EncryptTextModule;
import com.tresorit.zerokitsdk.scopes.ActivityScope;
import com.tresorit.zerokitsdk.viewmodel.EncryptTextViewModel;
import dagger.Component;

package com.tresorit.zerokitsdk.component;



@ActivityScope
@Component(
        modules = {
                EncryptTextModule.class
        },
        dependencies = {
                ApplicationComponent.class
        }
)
public interface EncryptTextComponent {
    void inject(EncryptTextFragment fragment);
    EncryptTextViewModel viewmodel();