content: /**
    * Copyright 2017 JessYan
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    *      http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  package <%= appPackage %>.base.delegate;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.os.Parcel;
  
  import <%= appPackage %>.utils.ArmsUtils;
  
  import org.simple.eventbus.EventBus;
  
  /**
   * ================================================
   * {@link ActivityDelegate} 默认实现类
   * <p>
   * Created by JessYan on 26/04/2017 20:23
   * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
   * <a href="https://github.com/JessYanCoding">Follow me</a>
   * ================================================
   */
  public class ActivityDelegateImpl implements ActivityDelegate {
      private Activity mActivity;
      private IActivity iActivity;
  
      public ActivityDelegateImpl(Activity activity) {
          this.mActivity = activity;
          this.iActivity = (IActivity) activity;
      }
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          if (iActivity.useEventBus())//如果要使用eventbus请将此方法返回true
              EventBus.getDefault().register(mActivity);//注册到事件主线
          iActivity.setupActivityComponent(ArmsUtils.obtainAppComponentFromContext(mActivity));//依赖注入
      }
  
      @Override
      public void onStart() {
  
      }
  
      @Override
      public void onResume() {
  
      }
  
      @Override
      public void onPause() {
  
      }
  
      @Override
      public void onStop() {
  
      }
  
      @Override
      public void onSaveInstanceState(Bundle outState) {
  
      }
  
      @Override
      public void onDestroy() {
          if (iActivity != null && iActivity.useEventBus())//如果要使用eventbus请将此方法返回true
              EventBus.getDefault().unregister(mActivity);
          this.iActivity = null;
          this.mActivity = null;
      }
  
      @Override
      public int describeContents() {
          return 0;
      }
  
      @Override
      public void writeToParcel(Parcel dest, int flags) {
  
      }
  
      protected ActivityDelegateImpl(Parcel in) {
          this.mActivity = in.readParcelable(Activity.class.getClassLoader());
          this.iActivity = in.readParcelable(IActivity.class.getClassLoader());
      }
  
      public static final Creator<ActivityDelegateImpl> CREATOR = new Creator<ActivityDelegateImpl>() {
          @Override
          public ActivityDelegateImpl createFromParcel(Parcel source) {
              return new ActivityDelegateImpl(source);
          }
  
          @Override
          public ActivityDelegateImpl[] newArray(int size) {
              return new ActivityDelegateImpl[size];
          }
      };
  }
  