// Path: sample/src/main/java/com/metova/privvy/sample/ui/floatingnumber/buttons/ButtonFragment.java
// public class ButtonFragment extends Fragment implements ButtonContract.View {
// 
//     @Inject
//     ButtonComponent buttonComponent;
// 
//     private ButtonContract.Presenter presenter;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ((MainActivity) getActivity()).hostComponent.newPrivvyComponent().inject(this);
//         presenter = buttonComponent.presenter();
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         return inflater.inflate(R.layout.button_view, container, false);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         ButterKnife.bind(this, view);
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void onDestroyView() {
//         super.onDestroyView();
//         presenter.onDestroyView();
//     }
// 
//     @Override
//     @OnClick(R.id.increment_button)
//     public void onIncrementClick() {
//         presenter.incrementNumber();
//     }
// 
//     @Override
//     @OnClick(R.id.decrement_button)
//     public void onDecrementClick() {
//         presenter.decrementNumber();
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/ui/list/ListActivity.java
// public class ListActivity extends AppCompatActivity implements PrivvyHost, ListContract.View, ListAdapter.ListClickCallback {
// 
//     @Inject
//     ListComponent listComponent;
// 
//     PrivvyHostDelegate hostDelegate;
// 
//     @BindView(R.id.list_recyclerview)
//     RecyclerView numberList;
// 
//     private ListContract.Presenter presenter;
// 
//     private ListAdapter listAdapter = new ListAdapter(this);
// 
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
// 
//         HostComponent hostComponent = SampleApplication.component.newHost()
//                 .hostModule(new HostModule(this))
//                 .build();
// 
//         hostComponent.newPrivvyComponent().inject(this);
// 
//         hostDelegate = new PrivvyHostDelegate(this);
// 
//         setContentView(R.layout.list_activity);
// 
//         ButterKnife.bind(this);
// 
//         presenter = listComponent.presenter();
// 
//         numberList.setLayoutManager(new LinearLayoutManager(this));
//         numberList.setAdapter(listAdapter);
// 
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void updateList(List<ListViewModel> numbers) {
//         listAdapter.setNumbers(numbers);
//     }
// 
//     @Override
//     public void updateListItem(ListViewModel number) {
//         listAdapter.setListItem(number);
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         presenter.onDestroyView();
//     }
// 
//     @OnClick(R.id.list_goback)
//     public void onBackClicked() {
//         presenter.goBack();
//     }
// 
//     @Override
//     public void onItemClicked(int position) {
//         presenter.onClickTile(position);
//     }
// 
//     @Override
//     public void initialize(RouteData... routes) {
//         hostDelegate.initialize(routes);
//     }
// 
//     @Override
//     public void replace(RouteData oldComponent, RouteData newComponent) {
//         hostDelegate.replace(oldComponent, newComponent);
//     }
// 
//     @Override
//     public void goTo(RouteData newComponent) {
//         hostDelegate.goTo(newComponent);
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/ui/floatingnumber/number/NumberFragment.java
// public class NumberFragment extends Fragment implements NumberContract.View {
// 
//     @Inject
//     NumberComponent mNumberComponent;
// 
//     @BindView(R.id.number_text)
//     TextView number;
// 
//     private NumberContract.Presenter presenter;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ((MainActivity) getActivity()).hostComponent.newPrivvyComponent().inject(this);
//         presenter = mNumberComponent.presenter();
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         return inflater.inflate(R.layout.number_view, container, false);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         ButterKnife.bind(this, view);
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void onDestroyView() {
//         super.onDestroyView();
//         presenter.onDestroyView();
//     }
// 
//     @Override
//     public void display(NumberViewModel viewModel) {
//         number.setText(String.valueOf(viewModel.number()));
//     }
// 
//     @Override
//     @OnLongClick(R.id.number_text)
//     public boolean onLongClickNumber() {
//         presenter.incrementNumberBy();
//         return true;
//     }
// 
//     @Override
//     public void updateFontSize(int scale) {
//         number.setTranslationX(number.getTranslationX() + (10 * scale));
//     }
// }


import com.metova.privvy.sample.ui.floatingnumber.buttons.ButtonFragment;
import com.metova.privvy.sample.ui.list.ListActivity;
import com.metova.privvy.sample.ui.floatingnumber.number.NumberFragment;
import dagger.Subcomponent;
package com.metova.privvy.sample.di;



@PrivvyScope
@Subcomponent(modules = PrivvyModule.class)
public interface PrivvyComponent {

    void inject(ButtonFragment fragment);

    void inject(NumberFragment fragment);

// Path: sample/src/main/java/com/metova/privvy/sample/ui/floatingnumber/buttons/ButtonFragment.java
// public class ButtonFragment extends Fragment implements ButtonContract.View {
// 
//     @Inject
//     ButtonComponent buttonComponent;
// 
//     private ButtonContract.Presenter presenter;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ((MainActivity) getActivity()).hostComponent.newPrivvyComponent().inject(this);
//         presenter = buttonComponent.presenter();
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         return inflater.inflate(R.layout.button_view, container, false);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         ButterKnife.bind(this, view);
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void onDestroyView() {
//         super.onDestroyView();
//         presenter.onDestroyView();
//     }
// 
//     @Override
//     @OnClick(R.id.increment_button)
//     public void onIncrementClick() {
//         presenter.incrementNumber();
//     }
// 
//     @Override
//     @OnClick(R.id.decrement_button)
//     public void onDecrementClick() {
//         presenter.decrementNumber();
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/ui/list/ListActivity.java
// public class ListActivity extends AppCompatActivity implements PrivvyHost, ListContract.View, ListAdapter.ListClickCallback {
// 
//     @Inject
//     ListComponent listComponent;
// 
//     PrivvyHostDelegate hostDelegate;
// 
//     @BindView(R.id.list_recyclerview)
//     RecyclerView numberList;
// 
//     private ListContract.Presenter presenter;
// 
//     private ListAdapter listAdapter = new ListAdapter(this);
// 
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
// 
//         HostComponent hostComponent = SampleApplication.component.newHost()
//                 .hostModule(new HostModule(this))
//                 .build();
// 
//         hostComponent.newPrivvyComponent().inject(this);
// 
//         hostDelegate = new PrivvyHostDelegate(this);
// 
//         setContentView(R.layout.list_activity);
// 
//         ButterKnife.bind(this);
// 
//         presenter = listComponent.presenter();
// 
//         numberList.setLayoutManager(new LinearLayoutManager(this));
//         numberList.setAdapter(listAdapter);
// 
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void updateList(List<ListViewModel> numbers) {
//         listAdapter.setNumbers(numbers);
//     }
// 
//     @Override
//     public void updateListItem(ListViewModel number) {
//         listAdapter.setListItem(number);
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         presenter.onDestroyView();
//     }
// 
//     @OnClick(R.id.list_goback)
//     public void onBackClicked() {
//         presenter.goBack();
//     }
// 
//     @Override
//     public void onItemClicked(int position) {
//         presenter.onClickTile(position);
//     }
// 
//     @Override
//     public void initialize(RouteData... routes) {
//         hostDelegate.initialize(routes);
//     }
// 
//     @Override
//     public void replace(RouteData oldComponent, RouteData newComponent) {
//         hostDelegate.replace(oldComponent, newComponent);
//     }
// 
//     @Override
//     public void goTo(RouteData newComponent) {
//         hostDelegate.goTo(newComponent);
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/ui/floatingnumber/number/NumberFragment.java
// public class NumberFragment extends Fragment implements NumberContract.View {
// 
//     @Inject
//     NumberComponent mNumberComponent;
// 
//     @BindView(R.id.number_text)
//     TextView number;
// 
//     private NumberContract.Presenter presenter;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ((MainActivity) getActivity()).hostComponent.newPrivvyComponent().inject(this);
//         presenter = mNumberComponent.presenter();
//     }
// 
//     @Nullable
//     @Override
//     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         return inflater.inflate(R.layout.number_view, container, false);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         ButterKnife.bind(this, view);
//         presenter.setView(this);
//     }
// 
//     @Override
//     public void onDestroyView() {
//         super.onDestroyView();
//         presenter.onDestroyView();
//     }
// 
//     @Override
//     public void display(NumberViewModel viewModel) {
//         number.setText(String.valueOf(viewModel.number()));
//     }
// 
//     @Override
//     @OnLongClick(R.id.number_text)
//     public boolean onLongClickNumber() {
//         presenter.incrementNumberBy();
//         return true;
//     }
// 
//     @Override
//     public void updateFontSize(int scale) {
//         number.setTranslationX(number.getTranslationX() + (10 * scale));
//     }
// }


// Path: sample/src/main/java/com/metova/privvy/sample/di/PrivvyComponent.java
import com.metova.privvy.sample.ui.floatingnumber.buttons.ButtonFragment;
import com.metova.privvy.sample.ui.list.ListActivity;
import com.metova.privvy.sample.ui.floatingnumber.number.NumberFragment;
import dagger.Subcomponent;

package com.metova.privvy.sample.di;



@PrivvyScope
@Subcomponent(modules = PrivvyModule.class)
public interface PrivvyComponent {

    void inject(ButtonFragment fragment);

    void inject(NumberFragment fragment);

    void inject(ListActivity activity);