// Path: app/src/main/java/com/yunq/gankio/injection/module/ActivityModule.java
// @Module
// public class ActivityModule {
// 
//     private android.app.Activity mActivity;
// 
//     public ActivityModule(android.app.Activity activity) {
//         mActivity = activity;
//     }
// 
//     @Provides
//     android.app.Activity provideActivity() {
//         return mActivity;
//     }
// 
// //    @Provides
// //    //@ActivityContext
// //    Context provideContext() {
// //        return mActivity;
// //    }
// }
// 
// Path: app/src/main/java/com/yunq/gankio/ui/activity/WebActivity.java
// public class WebActivity extends BaseSwipeRefreshActivity implements IWebView {
// 
//     private static final String TAG = WebActivity.class.getSimpleName();
// 
//     private static final String EXTRA_URL = "URL";
//     private static final String EXTRA_TITLE = "TITLE";
// 
//     public static void gotoWebActivity(Context context, String url, String title) {
//         Intent intent = new Intent(context, WebActivity.class);
//         intent.putExtra(EXTRA_URL, url);
//         intent.putExtra(EXTRA_TITLE, title);
//         context.startActivity(intent);
//     }
// 
//     @Bind(R.id.wb_content)
//     WebView mWebView;
// 
//     @Inject
//     WebPresenter mPresenter;
// 
//     @Override
//     protected int getLayout() {
//         return R.layout.activity_web;
//     }
// 
//     @Override
//     protected int getMenuRes() {
//         return R.menu.menu_web;
//     }
// 
//     @Override
//     protected void initInjection() {
//         DaggerWebActivityComponent.builder()
//                 .activityModule(new ActivityModule(this))
//                 .applicationComponent(GankApp.get(this).getComponent())
//                 .build()
//                 .inject(this);
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initInjection();
//         mPresenter.attachView(this);
//         String url = getIntent().getStringExtra(EXTRA_URL);
//         String title = getIntent().getStringExtra(EXTRA_TITLE);
// 
//         if (!TextUtils.isEmpty(title)) {
//             setTitle(title, true);
//         }
// 
//         mPresenter.setUpWebView(mWebView);
//         mPresenter.loadUrl(mWebView, url);
//     }
// 
//     @Override
//     protected void onRefreshStarted() {
//         refresh();
//     }
// 
//     private void refresh() {
//         mWebView.reload();
//     }
// 
//     @Override
//     public void showEmptyView() {
// 
//     }
// 
//     @Override
//     public void showErrorView(Throwable throwable) {
//         throwable.printStackTrace();
//     }
// 
//     @Override
//     public void showCancelRequest() {
//         
//     }
// 
// 
//     @Override
//     public void showLoadErrorMessage(String message) {
//         Snackbar.make(mWebView, message, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         if (mWebView != null) {
//             mWebView.destroy();
//         }
//         mPresenter.detachView();
//     }
// 
//     @Override
//     protected void onPause() {
//         if (mWebView != null) {
//             mWebView.onPause();
//         }
//         super.onPause();
//     }
// 
//     @Override
//     public boolean onKeyDown(int keyCode, KeyEvent event) {
//         if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
//             mWebView.goBack();
//             return true;
//         }
//         return super.onKeyDown(keyCode, event);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         int id = item.getItemId();
// 
//         switch (id) {
//             case R.id.action_copy_url:
//                 String copyDone = getString(R.string.toast_copy_done);
//                 AndroidUtils.copyToClipBoard(this, mWebView.getUrl(), copyDone);
//                 return true;
//             case R.id.action_open_url:
//                 Intent intent = new Intent();
//                 intent.setAction(Intent.ACTION_VIEW);
//                 Uri uri = Uri.parse(mWebView.getUrl());
//                 intent.setData(uri);
//                 if (intent.resolveActivity(getPackageManager()) != null) {
//                     startActivity(intent);
//                 } else {
//                     Toast.makeText(WebActivity.this, R.string.toast_open_fail, Toast.LENGTH_SHORT).show();
//                 }
//                 return true;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
// 
//     @Override
//     public void onBackPressed() {
//         if (isRefreshing()) {
//             hideRefresh();
//             return;
//         }
//         super.onBackPressed();
//     }
// 
// }


import com.yunq.gankio.injection.Activity;
import com.yunq.gankio.injection.module.ActivityModule;
import com.yunq.gankio.ui.activity.WebActivity;
import dagger.Component;
package com.yunq.gankio.injection.component;



/**
 * Created by admin on 16/1/25.
 */
@Activity
@Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class)
public interface WebActivityComponent extends ActivityComponent {
// Path: app/src/main/java/com/yunq/gankio/injection/module/ActivityModule.java
// @Module
// public class ActivityModule {
// 
//     private android.app.Activity mActivity;
// 
//     public ActivityModule(android.app.Activity activity) {
//         mActivity = activity;
//     }
// 
//     @Provides
//     android.app.Activity provideActivity() {
//         return mActivity;
//     }
// 
// //    @Provides
// //    //@ActivityContext
// //    Context provideContext() {
// //        return mActivity;
// //    }
// }
// 
// Path: app/src/main/java/com/yunq/gankio/ui/activity/WebActivity.java
// public class WebActivity extends BaseSwipeRefreshActivity implements IWebView {
// 
//     private static final String TAG = WebActivity.class.getSimpleName();
// 
//     private static final String EXTRA_URL = "URL";
//     private static final String EXTRA_TITLE = "TITLE";
// 
//     public static void gotoWebActivity(Context context, String url, String title) {
//         Intent intent = new Intent(context, WebActivity.class);
//         intent.putExtra(EXTRA_URL, url);
//         intent.putExtra(EXTRA_TITLE, title);
//         context.startActivity(intent);
//     }
// 
//     @Bind(R.id.wb_content)
//     WebView mWebView;
// 
//     @Inject
//     WebPresenter mPresenter;
// 
//     @Override
//     protected int getLayout() {
//         return R.layout.activity_web;
//     }
// 
//     @Override
//     protected int getMenuRes() {
//         return R.menu.menu_web;
//     }
// 
//     @Override
//     protected void initInjection() {
//         DaggerWebActivityComponent.builder()
//                 .activityModule(new ActivityModule(this))
//                 .applicationComponent(GankApp.get(this).getComponent())
//                 .build()
//                 .inject(this);
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initInjection();
//         mPresenter.attachView(this);
//         String url = getIntent().getStringExtra(EXTRA_URL);
//         String title = getIntent().getStringExtra(EXTRA_TITLE);
// 
//         if (!TextUtils.isEmpty(title)) {
//             setTitle(title, true);
//         }
// 
//         mPresenter.setUpWebView(mWebView);
//         mPresenter.loadUrl(mWebView, url);
//     }
// 
//     @Override
//     protected void onRefreshStarted() {
//         refresh();
//     }
// 
//     private void refresh() {
//         mWebView.reload();
//     }
// 
//     @Override
//     public void showEmptyView() {
// 
//     }
// 
//     @Override
//     public void showErrorView(Throwable throwable) {
//         throwable.printStackTrace();
//     }
// 
//     @Override
//     public void showCancelRequest() {
//         
//     }
// 
// 
//     @Override
//     public void showLoadErrorMessage(String message) {
//         Snackbar.make(mWebView, message, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         if (mWebView != null) {
//             mWebView.destroy();
//         }
//         mPresenter.detachView();
//     }
// 
//     @Override
//     protected void onPause() {
//         if (mWebView != null) {
//             mWebView.onPause();
//         }
//         super.onPause();
//     }
// 
//     @Override
//     public boolean onKeyDown(int keyCode, KeyEvent event) {
//         if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
//             mWebView.goBack();
//             return true;
//         }
//         return super.onKeyDown(keyCode, event);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         int id = item.getItemId();
// 
//         switch (id) {
//             case R.id.action_copy_url:
//                 String copyDone = getString(R.string.toast_copy_done);
//                 AndroidUtils.copyToClipBoard(this, mWebView.getUrl(), copyDone);
//                 return true;
//             case R.id.action_open_url:
//                 Intent intent = new Intent();
//                 intent.setAction(Intent.ACTION_VIEW);
//                 Uri uri = Uri.parse(mWebView.getUrl());
//                 intent.setData(uri);
//                 if (intent.resolveActivity(getPackageManager()) != null) {
//                     startActivity(intent);
//                 } else {
//                     Toast.makeText(WebActivity.this, R.string.toast_open_fail, Toast.LENGTH_SHORT).show();
//                 }
//                 return true;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
// 
//     @Override
//     public void onBackPressed() {
//         if (isRefreshing()) {
//             hideRefresh();
//             return;
//         }
//         super.onBackPressed();
//     }
// 
// }


// Path: app/src/main/java/com/yunq/gankio/injection/component/WebActivityComponent.java
import com.yunq.gankio.injection.Activity;
import com.yunq.gankio.injection.module.ActivityModule;
import com.yunq.gankio.ui.activity.WebActivity;
import dagger.Component;

package com.yunq.gankio.injection.component;



/**
 * Created by admin on 16/1/25.
 */
@Activity
@Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class)
public interface WebActivityComponent extends ActivityComponent {
    void inject(WebActivity activity);