// Path: sample/src/main/java/com/tresorit/zerokitsdk/ZerokitApplication.java
// public class ZerokitApplication extends Application {
// 
//     private ApplicationComponent component;
// 
//     public static ZerokitApplication get(Context context) {
//         return (ZerokitApplication) context.getApplicationContext();
//     }
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         component = DaggerApplicationComponent.builder()
//                 .applicationModule(new ApplicationModule(this))
//                 .adminApiModule(new AdminApiModule(BuildConfig.APP_BACKEND, BuildConfig.CLIENT_ID))
//                 .build();
//     }
// 
//     public ApplicationComponent component() {
//         return component;
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/ShareTresorViewModel.java
// public class ShareTresorViewModel extends BaseObservable {
// 
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListener;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgress;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> userId;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textSummary;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> sharedWithUserId;
// 
//     @SuppressWarnings("WeakerAccess")
//     final Action<ResponseZerokitError> errorResponseHandlerSdk;
//     @SuppressWarnings("WeakerAccess")
//     final Action<ResponseAdminApiError> errorResponseHandlerAdminapi;
// 
//     final Zerokit zerokit;
// 
//     @SuppressWarnings("WeakerAccess")
//     final AdminApi adminApi;
// 
//     @SuppressWarnings("WeakerAccess")
//     String tresorId;
// 
//     @Inject
//     public ShareTresorViewModel(Zerokit zerokit, AdminApi adminApi, final EventBus eventBus) {
//         this.zerokit = zerokit;
//         this.adminApi = adminApi;
// 
//         this.inProgress = new ObservableField<>(false);
//         this.userId = new ObservableField<>();
//         this.textSummary = new ObservableField<>();
//         this.sharedWithUserId = new ObservableField<>("");
//         this.clickListener = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 shareTresor(tresorId, userId.get());
//             }
//         };
//         errorResponseHandlerSdk = new Action<ResponseZerokitError>() {
//             @Override
//             public void call(ResponseZerokitError errorResponse) {
//                 inProgress.set(false);
//                 eventBus.post(new ShowMessageMessage(errorResponse.toString()));
//             }
//         };
//         errorResponseHandlerAdminapi = new Action<ResponseAdminApiError>() {
//             @Override
//             public void call(ResponseAdminApiError errorResponse) {
//                 inProgress.set(false);
//                 eventBus.post(new ShowMessageMessage(errorResponse.toString()));
//             }
//         };
//     }
// 
//     @SuppressWarnings("WeakerAccess")
//     void shareTresor(final String tresorId, final String userName) {
//         inProgress.set(true);
//         sharedWithUserId.set("");
//         this.adminApi.getUserId(userName).enqueue(new Action<String>() {
//             @Override
//             public void call(String userId) {
//                 zerokit.shareTresor(tresorId, userId).enqueue(new Action<String>() {
//                     @Override
//                     public void call(String shareId) {
//                         adminApi.sharedTresor(shareId).enqueue(new Action<Void>() {
//                             @Override
//                             public void call(Void result) {
//                                 sharedWithUserId.set("Shared with: " + userName);
//                                 inProgress.set(false);
//                             }
//                         }, errorResponseHandlerAdminapi);
//                     }
//                 }, errorResponseHandlerSdk);
//             }
//         }, errorResponseHandlerAdminapi);
//     }
// 
//     @Subscribe
//     @SuppressWarnings("unused")
//     public void onEvent(CreateTresorFinishedMessage message) {
//         tresorId = message.getTresorId();
//         textSummary.set("Tresor ID: " + message.getTresorId());
//         sharedWithUserId.set("");
//     }
// 
// }


import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.tresorit.zerokitsdk.ZerokitApplication;
import com.tresorit.zerokitsdk.component.DaggerShareTresorComponent;
import com.tresorit.zerokitsdk.databinding.FragmentShareTresorBinding;
import com.tresorit.zerokitsdk.viewmodel.ShareTresorViewModel;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject;
package com.tresorit.zerokitsdk.fragment;





public class ShareTresorFragment extends Fragment {

    @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
    @Inject
// Path: sample/src/main/java/com/tresorit/zerokitsdk/ZerokitApplication.java
// public class ZerokitApplication extends Application {
// 
//     private ApplicationComponent component;
// 
//     public static ZerokitApplication get(Context context) {
//         return (ZerokitApplication) context.getApplicationContext();
//     }
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         component = DaggerApplicationComponent.builder()
//                 .applicationModule(new ApplicationModule(this))
//                 .adminApiModule(new AdminApiModule(BuildConfig.APP_BACKEND, BuildConfig.CLIENT_ID))
//                 .build();
//     }
// 
//     public ApplicationComponent component() {
//         return component;
//     }
// }
// 
// Path: sample/src/main/java/com/tresorit/zerokitsdk/viewmodel/ShareTresorViewModel.java
// public class ShareTresorViewModel extends BaseObservable {
// 
//     @SuppressWarnings("WeakerAccess")
//     public final View.OnClickListener clickListener;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<Boolean> inProgress;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> userId;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> textSummary;
//     @SuppressWarnings("WeakerAccess")
//     public final ObservableField<String> sharedWithUserId;
// 
//     @SuppressWarnings("WeakerAccess")
//     final Action<ResponseZerokitError> errorResponseHandlerSdk;
//     @SuppressWarnings("WeakerAccess")
//     final Action<ResponseAdminApiError> errorResponseHandlerAdminapi;
// 
//     final Zerokit zerokit;
// 
//     @SuppressWarnings("WeakerAccess")
//     final AdminApi adminApi;
// 
//     @SuppressWarnings("WeakerAccess")
//     String tresorId;
// 
//     @Inject
//     public ShareTresorViewModel(Zerokit zerokit, AdminApi adminApi, final EventBus eventBus) {
//         this.zerokit = zerokit;
//         this.adminApi = adminApi;
// 
//         this.inProgress = new ObservableField<>(false);
//         this.userId = new ObservableField<>();
//         this.textSummary = new ObservableField<>();
//         this.sharedWithUserId = new ObservableField<>("");
//         this.clickListener = new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 shareTresor(tresorId, userId.get());
//             }
//         };
//         errorResponseHandlerSdk = new Action<ResponseZerokitError>() {
//             @Override
//             public void call(ResponseZerokitError errorResponse) {
//                 inProgress.set(false);
//                 eventBus.post(new ShowMessageMessage(errorResponse.toString()));
//             }
//         };
//         errorResponseHandlerAdminapi = new Action<ResponseAdminApiError>() {
//             @Override
//             public void call(ResponseAdminApiError errorResponse) {
//                 inProgress.set(false);
//                 eventBus.post(new ShowMessageMessage(errorResponse.toString()));
//             }
//         };
//     }
// 
//     @SuppressWarnings("WeakerAccess")
//     void shareTresor(final String tresorId, final String userName) {
//         inProgress.set(true);
//         sharedWithUserId.set("");
//         this.adminApi.getUserId(userName).enqueue(new Action<String>() {
//             @Override
//             public void call(String userId) {
//                 zerokit.shareTresor(tresorId, userId).enqueue(new Action<String>() {
//                     @Override
//                     public void call(String shareId) {
//                         adminApi.sharedTresor(shareId).enqueue(new Action<Void>() {
//                             @Override
//                             public void call(Void result) {
//                                 sharedWithUserId.set("Shared with: " + userName);
//                                 inProgress.set(false);
//                             }
//                         }, errorResponseHandlerAdminapi);
//                     }
//                 }, errorResponseHandlerSdk);
//             }
//         }, errorResponseHandlerAdminapi);
//     }
// 
//     @Subscribe
//     @SuppressWarnings("unused")
//     public void onEvent(CreateTresorFinishedMessage message) {
//         tresorId = message.getTresorId();
//         textSummary.set("Tresor ID: " + message.getTresorId());
//         sharedWithUserId.set("");
//     }
// 
// }


// Path: sample/src/main/java/com/tresorit/zerokitsdk/fragment/ShareTresorFragment.java
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.tresorit.zerokitsdk.ZerokitApplication;
import com.tresorit.zerokitsdk.component.DaggerShareTresorComponent;
import com.tresorit.zerokitsdk.databinding.FragmentShareTresorBinding;
import com.tresorit.zerokitsdk.viewmodel.ShareTresorViewModel;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject;

package com.tresorit.zerokitsdk.fragment;





public class ShareTresorFragment extends Fragment {

    @SuppressWarnings({"WeakerAccess", "CanBeFinal"})
    @Inject
    ShareTresorViewModel viewModel;