// Path: app/src/main/java/jp/yokomark/lgtm/app/home/ui/MainActivity.java
// public class MainActivity extends DaggerActivity {
//     @Inject MainActivityHelper mHelper;
//     @Inject MediaStoreCompat mCompat;
//     @Inject TakePicState mPicState;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.activity_main);
//     }
// 
//     @Override
//     protected List<Object> getModules() {
//         return Arrays.asList(new ActivityModule(this), new MainActivityModule());
//     }
// 
//     @Override
//     protected void onRestoreInstanceState(Bundle savedInstanceState) {
//         super.onRestoreInstanceState(savedInstanceState);
//         mPicState.onRestoreInstanceState(savedInstanceState);
//     }
// 
//     @Override
//     protected void onSaveInstanceState(Bundle outState) {
//         mPicState.onSaveInstanceState(outState);
//         super.onSaveInstanceState(outState);
//     }
// 
//     @Override
//     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//         super.onActivityResult(requestCode, resultCode, data);
//         MainRequest request = MainRequest.valueOf(requestCode);
//         request.getHandler().handle(this, resultCode, data);
//     }
// 
//     @Override
//     public boolean onCreateOptionsMenu(Menu menu) {
//         getMenuInflater().inflate(R.menu.options_activity_main, menu);
//         return super.onCreateOptionsMenu(menu);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         MainOptionsMenu menu = MainOptionsMenu.valueOf(item);
//         return menu.getHandler().handle(this) || super.onOptionsItemSelected(item);
//     }
// 
//     public void onButtonClick(View view) {
//         MainViewClickEvent event = MainViewClickEvent.valueOf(view);
//         event.getHandler().handle(this);
//     }
// }
// 
// Path: app/src/main/java/jp/yokomark/lgtm/misc/ui/helper/ViewClickEventHandler.java
// public interface ViewClickEventHandler<A extends Activity> {
//     public void handle(A activity);
// }


import android.view.View;
import jp.yokomark.lgtm.R;
import jp.yokomark.lgtm.app.home.ui.MainActivity;
import jp.yokomark.lgtm.misc.ui.helper.ViewClickEventHandler;
package jp.yokomark.lgtm.app.home.ui.helper.button;



/**
 * @author yokomakukeishin
 * @version 1.0.0
 * @since 1.0.0
 */
public enum MainViewClickEvent {
    TAKE(R.id.button_take_pic, new TakePictureEventHandler()),
    SELECT(R.id.button_select_pic, new SelectPictureEventHandler()),
    SHOW(R.id.button_show_pic, new ShowPictureEventHandler());

    private final int mId;
    private final ViewClickEventHandler<MainActivity> mHandler;

// Path: app/src/main/java/jp/yokomark/lgtm/app/home/ui/MainActivity.java
// public class MainActivity extends DaggerActivity {
//     @Inject MainActivityHelper mHelper;
//     @Inject MediaStoreCompat mCompat;
//     @Inject TakePicState mPicState;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.activity_main);
//     }
// 
//     @Override
//     protected List<Object> getModules() {
//         return Arrays.asList(new ActivityModule(this), new MainActivityModule());
//     }
// 
//     @Override
//     protected void onRestoreInstanceState(Bundle savedInstanceState) {
//         super.onRestoreInstanceState(savedInstanceState);
//         mPicState.onRestoreInstanceState(savedInstanceState);
//     }
// 
//     @Override
//     protected void onSaveInstanceState(Bundle outState) {
//         mPicState.onSaveInstanceState(outState);
//         super.onSaveInstanceState(outState);
//     }
// 
//     @Override
//     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//         super.onActivityResult(requestCode, resultCode, data);
//         MainRequest request = MainRequest.valueOf(requestCode);
//         request.getHandler().handle(this, resultCode, data);
//     }
// 
//     @Override
//     public boolean onCreateOptionsMenu(Menu menu) {
//         getMenuInflater().inflate(R.menu.options_activity_main, menu);
//         return super.onCreateOptionsMenu(menu);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         MainOptionsMenu menu = MainOptionsMenu.valueOf(item);
//         return menu.getHandler().handle(this) || super.onOptionsItemSelected(item);
//     }
// 
//     public void onButtonClick(View view) {
//         MainViewClickEvent event = MainViewClickEvent.valueOf(view);
//         event.getHandler().handle(this);
//     }
// }
// 
// Path: app/src/main/java/jp/yokomark/lgtm/misc/ui/helper/ViewClickEventHandler.java
// public interface ViewClickEventHandler<A extends Activity> {
//     public void handle(A activity);
// }


// Path: app/src/main/java/jp/yokomark/lgtm/app/home/ui/helper/button/MainViewClickEvent.java
import android.view.View;
import jp.yokomark.lgtm.R;
import jp.yokomark.lgtm.app.home.ui.MainActivity;
import jp.yokomark.lgtm.misc.ui.helper.ViewClickEventHandler;

package jp.yokomark.lgtm.app.home.ui.helper.button;



/**
 * @author yokomakukeishin
 * @version 1.0.0
 * @since 1.0.0
 */
public enum MainViewClickEvent {
    TAKE(R.id.button_take_pic, new TakePictureEventHandler()),
    SELECT(R.id.button_select_pic, new SelectPictureEventHandler()),
    SHOW(R.id.button_show_pic, new ShowPictureEventHandler());

    private final int mId;
    private final ViewClickEventHandler<MainActivity> mHandler;

    private MainViewClickEvent(int id, ViewClickEventHandler<MainActivity> handler) {