public KeyguardViewHostManager(
      Context context,
      KeyguardViewHost host,
      SkylightHost skylight,
      LockPatternUtils lockPatternUtils,
      ViewMediatorCallback callback) {

    OtaUtils.checkRomOta(context);

    initVersionName(context);

    mContext = context;
    mKeyguardViewHost = host;
    mSkylightHost = skylight;
    mLockPatternUtils = lockPatternUtils;
    HKAgent.startStatisticThread(context.getApplicationContext());
    DataStatistics.getInstance().onInit(context.getApplicationContext());
    registerReceivers();
    sInstance = this;
    setViewMediatorCallback(callback);
    initKeyguard(callback);
    // GIONEE <Amigo_Keyguard> gexiufeng <2015-06-18> modify [1/2] begin: show haokan in power saver
    // mode.
    // Common.setPowerSaverMode(getPowerSaverMode() == 2);
    Common.setPowerSaverMode(false);
    // GIONEE <Amigo_Keyguard> gexiufeng <2015-06-18> modify [1/2] end: show haokan in power saver
    // mode.

    initHorizontalListView();
    mKeyguardWallpaperManager = new KeyguardWallpaperManager();
    mKeyguardWallpaperManager.setKeyguardListView(mKeyguardListView);
    mKeyguardWallpaperManager.setWallpaperContainer(mContainer);
    mKeyguardWallpaperManager.setViewMediatorCallback(callback);
    mKeyguardWallpaperManager.init(mContext);
    UIController.getInstance().setmViewMediatorCallback(callback);

    mKeyguardViewHost.setConfigChangeCallback(mConfigChangeCallback);
    isSuppotFinger = isSupportFingerPrint();
    if (isSuppotFinger) {
      mFingerIdentifyManager = new FingerIdentifyManager(context);
    }

    // GIONEE <Amigo_Keyguard> gexiufeng <2015-06-18> modify [2/2] begin: show haokan in power saver
    // mode.
    initPowerSaverObserver();
    // GIONEE <Amigo_Keyguard> gexiufeng <2015-06-18> modify [2/2] end: show haokan in power saver
    // mode.

    DebugLog.d(TAG, "isSuppotFinger....isSuppotFinger=" + isSuppotFinger);

    Guide.init(context);
    onBootCompleted();
  }
 @Override
 public void onScrollBegin() {
   if (DebugLog.DEBUG) {
     DebugLog.d(TAG, "onScrollBegin");
   }
   mKeyguardWallpaperManager.onScrollBegin();
   QuickSleepUtil.updateWallPaperScrollingState(true);
 }
        @Override
        public void onScrollEnd() {
          if (DebugLog.DEBUG) {
            DebugLog.d(TAG, "onScrollEnd");
          }

          mKeyguardWallpaperManager.onScrollEnd();
        }
 public void reset(boolean occluded) {
   if (!mViewMediatorCallback.isScreenOn()) {
     mKeyguardWallpaperManager.onKeyguardLockedWhenScreenOn();
   }
   showBouncerOrKeyguard();
   if (occluded) {
     mKeyguardViewHost.setVisibility(View.GONE);
   }
 }
  public void onScreenTurnedOn() {

    mKeyguardViewHost.onScreenTurnedOn();
    mKeyguardWallpaperManager.onScreenTurnedOn();

    beginStatics();
    refreshCacheScreenOn();
    startFingerIdentify();
  }
  public void onScreenTurnedOff() {
    mKeyguardViewHost.onScreenTurnedOff();
    mKeyguardWallpaperManager.onScreenTurnedOff();
    finishStatistics();

    cancelFingerIdentify();

    DebugLog.d(
        TAG, "KeyguardViewHostManager systemui versionName:" + NavilSettings.getVersionName());
  }
  public void show(Bundle options) {
    //        initSkylightHost();
    mKeyguardViewHost.show(options);

    updateNotifiOnkeyguard(true);
    beginStatics();
    DebugLog.d(TAG, "show  isScreenOn  updateListView");
    mKeyguardWallpaperManager.onKeyguardLockedWhenScreenOn();
    refreshCacheScreenOn();
    UIController.getInstance().onKeyguardLocked();

    if (isScreenOn()) {
      DebugLog.d(LOG_TAG, "show(Bundle options)--screen on");
      startFingerIdentify();
    }
  }
 private void refreshCacheScreenOn() {
   if (mViewMediatorCallback.isScreenOn() /*&& !mIsSkylightShown*/
       && mViewMediatorCallback.isShowing()) {
     mKeyguardWallpaperManager.refreshCache(false);
   }
 }
 public void releaseCache() {
   mKeyguardWallpaperManager.releaseCache();
 }