Program: 192186
Project: 192186
Buggy source:
protected PhoneStatusBarView makeStatusBarView(){
  final Context context=mContext;
  updateDisplaySize();
  updateResources();
  inflateStatusBarWindow(context);
  mStatusBarWindow.setService(this);
  mStatusBarWindow.setOnTouchListener(new View.OnTouchListener(){
    @Override public boolean onTouch(    View v,    MotionEvent event){
      checkUserAutohide(v,event);
      if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if (mExpandedVisible) {
          animateCollapsePanels();
        }
      }
      return mStatusBarWindow.onTouchEvent(event);
    }
  }
);
  mNotificationPanel=(NotificationPanelView)mStatusBarWindow.findViewById(R.id.notification_panel);
  mNotificationPanel.setStatusBar(this);
  mNotificationPanel.setGroupManager(mGroupManager);
  mStatusBarView=(PhoneStatusBarView)mStatusBarWindow.findViewById(R.id.status_bar);
  mStatusBarView.setBar(this);
  mStatusBarView.setPanel(mNotificationPanel);
  if (!ActivityManager.isHighEndGfx()) {
    mStatusBarWindow.setBackground(null);
    mNotificationPanel.setBackground(new FastColorDrawable(context.getColor(R.color.notification_panel_solid_background)));
  }
  mHeadsUpManager=new HeadsUpManager(context,mStatusBarWindow,mGroupManager);
  mHeadsUpManager.setBar(this);
  mHeadsUpManager.addListener(this);
  mHeadsUpManager.addListener(mNotificationPanel);
  mHeadsUpManager.addListener(mGroupManager);
  mNotificationPanel.setHeadsUpManager(mHeadsUpManager);
  mNotificationData.setHeadsUpManager(mHeadsUpManager);
  if (MULTIUSER_DEBUG) {
    mNotificationPanelDebugText=(TextView)mNotificationPanel.findViewById(R.id.header_debug_info);
    mNotificationPanelDebugText.setVisibility(View.VISIBLE);
  }
  try {
    boolean showNav=mWindowManagerService.hasNavigationBar();
    if (DEBUG)     Log.v(TAG,"String_Node_Str" + showNav);
    if (showNav) {
      createNavigationBarView(context);
    }
  }
 catch (  RemoteException ex) {
  }
  mAssistManager=new AssistManager(this,context);
  mPixelFormat=PixelFormat.OPAQUE;
  mStackScroller=(NotificationStackScrollLayout)mStatusBarWindow.findViewById(R.id.notification_stack_scroller);
  mStackScroller.setLongPressListener(getNotificationLongClicker());
  mStackScroller.setPhoneStatusBar(this);
  mStackScroller.setGroupManager(mGroupManager);
  mStackScroller.setHeadsUpManager(mHeadsUpManager);
  mGroupManager.setOnGroupChangeListener(mStackScroller);
  mKeyguardIconOverflowContainer=(NotificationOverflowContainer)LayoutInflater.from(mContext).inflate(R.layout.status_bar_notification_keyguard_overflow,mStackScroller,false);
  mKeyguardIconOverflowContainer.setOnActivatedListener(this);
  mKeyguardIconOverflowContainer.setOnClickListener(mOverflowClickListener);
  mStackScroller.setOverflowContainer(mKeyguardIconOverflowContainer);
  inflateEmptyShadeView();
  inflateDismissView();
  mExpandedContents=mStackScroller;
  mBackdrop=(BackDropView)mStatusBarWindow.findViewById(R.id.backdrop);
  mBackdropFront=(ImageView)mBackdrop.findViewById(R.id.backdrop_front);
  mBackdropBack=(ImageView)mBackdrop.findViewById(R.id.backdrop_back);
  ScrimView scrimBehind=(ScrimView)mStatusBarWindow.findViewById(R.id.scrim_behind);
  ScrimView scrimInFront=(ScrimView)mStatusBarWindow.findViewById(R.id.scrim_in_front);
  View headsUpScrim=mStatusBarWindow.findViewById(R.id.heads_up_scrim);
  mScrimController=SystemUIFactory.getInstance().createScrimController(scrimBehind,scrimInFront,headsUpScrim);
  if (mScrimSrcModeEnabled) {
    Runnable runnable=new Runnable(){
      @Override public void run(){
        boolean asSrc=mBackdrop.getVisibility() != View.VISIBLE;
        mScrimController.setDrawBehindAsSrc(asSrc);
        mStackScroller.setDrawBackgroundAsSrc(asSrc);
      }
    }
;
    mBackdrop.setOnVisibilityChangedRunnable(runnable);
    runnable.run();
  }
  mHeadsUpManager.addListener(mScrimController);
  mStackScroller.setScrimController(mScrimController);
  mStatusBarView.setScrimController(mScrimController);
  mDozeScrimController=new DozeScrimController(mScrimController,context);
  mKeyguardStatusBar=(KeyguardStatusBarView)mStatusBarWindow.findViewById(R.id.keyguard_header);
  mKeyguardStatusView=mStatusBarWindow.findViewById(R.id.keyguard_status_view);
  mKeyguardBottomArea=(KeyguardBottomAreaView)mStatusBarWindow.findViewById(R.id.keyguard_bottom_area);
  mKeyguardBottomArea.setActivityStarter(this);
  mKeyguardBottomArea.setAssistManager(mAssistManager);
  mKeyguardIndicationController=new KeyguardIndicationController(mContext,(KeyguardIndicationTextView)mStatusBarWindow.findViewById(R.id.keyguard_indication_text),mKeyguardBottomArea.getLockIcon());
  mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController);
  if (ENABLE_LOCKSCREEN_WALLPAPER) {
    mLockscreenWallpaper=new LockscreenWallpaper(mContext,this,mHandler);
  }
  setAreThereNotifications();
  createIconController();
  mHandlerThread=new HandlerThread(TAG,Process.THREAD_PRIORITY_BACKGROUND);
  mHandlerThread.start();
  mLocationController=new LocationControllerImpl(mContext,mHandlerThread.getLooper());
  mBatteryController=createBatteryController();
  mBatteryController.addStateChangedCallback(new BatteryStateChangeCallback(){
    @Override public void onPowerSaveChanged(    boolean isPowerSave){
      mHandler.post(mCheckBarModes);
      if (mDozeServiceHost != null) {
        mDozeServiceHost.firePowerSaveChanged(isPowerSave);
      }
    }
    @Override public void onBatteryLevelChanged(    int level,    boolean pluggedIn,    boolean charging){
    }
  }
);
  mNetworkController=new NetworkControllerImpl(mContext,mHandlerThread.getLooper());
  mHotspotController=new HotspotControllerImpl(mContext);
  mBluetoothController=new BluetoothControllerImpl(mContext,mHandlerThread.getLooper());
  mSecurityController=new SecurityControllerImpl(mContext);
  if (mContext.getResources().getBoolean(R.bool.config_showRotationLock)) {
    mRotationLockController=new RotationLockControllerImpl(mContext);
  }
  mUserInfoController=new UserInfoController(mContext);
  mVolumeComponent=getComponent(VolumeComponent.class);
  if (mVolumeComponent != null) {
    mZenModeController=mVolumeComponent.getZenController();
  }
  mCastController=new CastControllerImpl(mContext);
  initSignalCluster(mStatusBarView);
  initSignalCluster(mKeyguardStatusBar);
  mFlashlightController=new FlashlightController(mContext);
  mKeyguardBottomArea.setFlashlightController(mFlashlightController);
  mKeyguardBottomArea.setPhoneStatusBar(this);
  mKeyguardBottomArea.setUserSetupComplete(mUserSetup);
  mAccessibilityController=new AccessibilityController(mContext);
  mKeyguardBottomArea.setAccessibilityController(mAccessibilityController);
  mNextAlarmController=new NextAlarmController(mContext);
  mLightStatusBarController=new LightStatusBarController(mIconController,mBatteryController);
  mKeyguardMonitor=new KeyguardMonitor(mContext);
  if (UserManager.get(mContext).isUserSwitcherEnabled()) {
    mUserSwitcherController=new UserSwitcherController(mContext,mKeyguardMonitor,mHandler,this);
    createUserSwitcher();
  }
  DensityContainer container=(DensityContainer)mStatusBarWindow.findViewById(R.id.qs_density_container);
  if (container != null) {
    final QSTileHost qsh=SystemUIFactory.getInstance().createQSTileHost(mContext,this,mBluetoothController,mLocationController,mRotationLockController,mNetworkController,mZenModeController,mHotspotController,mCastController,mFlashlightController,mUserSwitcherController,mUserInfoController,mKeyguardMonitor,mSecurityController,mBatteryController,mIconController,mNextAlarmController);
    mBrightnessMirrorController=new BrightnessMirrorController(mStatusBarWindow);
    container.addInflateListener(new InflateListener(){
      @Override public void onInflated(      View v){
        QSContainer qsContainer=(QSContainer)v.findViewById(R.id.quick_settings_container);
        qsContainer.setHost(qsh);
        mQSPanel=qsContainer.getQsPanel();
        mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
        mHeader=qsContainer.getHeader();
        initSignalCluster(mHeader);
        mHeader.setActivityStarter(PhoneStatusBar.this);
      }
    }
);
  }
  mKeyguardStatusBar.setUserInfoController(mUserInfoController);
  mKeyguardStatusBar.setUserSwitcherController(mUserSwitcherController);
  mUserInfoController.reloadUserInfo();
  ((BatteryMeterView)mStatusBarView.findViewById(R.id.battery)).setBatteryController(mBatteryController);
  mKeyguardStatusBar.setBatteryController(mBatteryController);
  PowerManager pm=(PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
  mBroadcastReceiver.onReceive(mContext,new Intent(pm.isScreenOn() ? Intent.ACTION_SCREEN_ON : Intent.ACTION_SCREEN_OFF));
  mGestureWakeLock=pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"String_Node_Str");
  mVibrator=mContext.getSystemService(Vibrator.class);
  IntentFilter filter=new IntentFilter();
  filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
  filter.addAction(Intent.ACTION_SCREEN_OFF);
  filter.addAction(Intent.ACTION_SCREEN_ON);
  context.registerReceiverAsUser(mBroadcastReceiver,UserHandle.ALL,filter,null,null);
  IntentFilter demoFilter=new IntentFilter();
  if (DEBUG_MEDIA_FAKE_ARTWORK) {
    demoFilter.addAction(ACTION_FAKE_ARTWORK);
  }
  demoFilter.addAction(ACTION_DEMO);
  context.registerReceiverAsUser(mDemoReceiver,UserHandle.ALL,demoFilter,android.Manifest.permission.DUMP,null);
  resetUserSetupObserver();
  ThreadedRenderer.overrideProperty("String_Node_Str","String_Node_Str");
  ThreadedRenderer.overrideProperty("String_Node_Str",String.valueOf(1.5f));
  return mStatusBarView;
}

Fixed version (ground truth):
protected PhoneStatusBarView makeStatusBarView(){
  final Context context=mContext;
  updateDisplaySize();
  updateResources();
  inflateStatusBarWindow(context);
  mStatusBarWindow.setService(this);
  mStatusBarWindow.setOnTouchListener(new View.OnTouchListener(){
    @Override public boolean onTouch(    View v,    MotionEvent event){
      checkUserAutohide(v,event);
      if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if (mExpandedVisible) {
          animateCollapsePanels();
        }
      }
      return mStatusBarWindow.onTouchEvent(event);
    }
  }
);
  mNotificationPanel=(NotificationPanelView)mStatusBarWindow.findViewById(R.id.notification_panel);
  mNotificationPanel.setStatusBar(this);
  mNotificationPanel.setGroupManager(mGroupManager);
  mStatusBarView=(PhoneStatusBarView)mStatusBarWindow.findViewById(R.id.status_bar);
  mStatusBarView.setBar(this);
  mStatusBarView.setPanel(mNotificationPanel);
  if (!ActivityManager.isHighEndGfx()) {
    mStatusBarWindow.setBackground(null);
    mNotificationPanel.setBackground(new FastColorDrawable(context.getColor(R.color.notification_panel_solid_background)));
  }
  mHeadsUpManager=new HeadsUpManager(context,mStatusBarWindow,mGroupManager);
  mHeadsUpManager.setBar(this);
  mHeadsUpManager.addListener(this);
  mHeadsUpManager.addListener(mNotificationPanel);
  mHeadsUpManager.addListener(mGroupManager);
  mNotificationPanel.setHeadsUpManager(mHeadsUpManager);
  mNotificationData.setHeadsUpManager(mHeadsUpManager);
  mGroupManager.setHeadsUpManager(mHeadsUpManager);
  if (MULTIUSER_DEBUG) {
    mNotificationPanelDebugText=(TextView)mNotificationPanel.findViewById(R.id.header_debug_info);
    mNotificationPanelDebugText.setVisibility(View.VISIBLE);
  }
  try {
    boolean showNav=mWindowManagerService.hasNavigationBar();
    if (DEBUG)     Log.v(TAG,"String_Node_Str" + showNav);
    if (showNav) {
      createNavigationBarView(context);
    }
  }
 catch (  RemoteException ex) {
  }
  mAssistManager=new AssistManager(this,context);
  mPixelFormat=PixelFormat.OPAQUE;
  mStackScroller=(NotificationStackScrollLayout)mStatusBarWindow.findViewById(R.id.notification_stack_scroller);
  mStackScroller.setLongPressListener(getNotificationLongClicker());
  mStackScroller.setPhoneStatusBar(this);
  mStackScroller.setGroupManager(mGroupManager);
  mStackScroller.setHeadsUpManager(mHeadsUpManager);
  mGroupManager.setOnGroupChangeListener(mStackScroller);
  mKeyguardIconOverflowContainer=(NotificationOverflowContainer)LayoutInflater.from(mContext).inflate(R.layout.status_bar_notification_keyguard_overflow,mStackScroller,false);
  mKeyguardIconOverflowContainer.setOnActivatedListener(this);
  mKeyguardIconOverflowContainer.setOnClickListener(mOverflowClickListener);
  mStackScroller.setOverflowContainer(mKeyguardIconOverflowContainer);
  inflateEmptyShadeView();
  inflateDismissView();
  mExpandedContents=mStackScroller;
  mBackdrop=(BackDropView)mStatusBarWindow.findViewById(R.id.backdrop);
  mBackdropFront=(ImageView)mBackdrop.findViewById(R.id.backdrop_front);
  mBackdropBack=(ImageView)mBackdrop.findViewById(R.id.backdrop_back);
  ScrimView scrimBehind=(ScrimView)mStatusBarWindow.findViewById(R.id.scrim_behind);
  ScrimView scrimInFront=(ScrimView)mStatusBarWindow.findViewById(R.id.scrim_in_front);
  View headsUpScrim=mStatusBarWindow.findViewById(R.id.heads_up_scrim);
  mScrimController=SystemUIFactory.getInstance().createScrimController(scrimBehind,scrimInFront,headsUpScrim);
  if (mScrimSrcModeEnabled) {
    Runnable runnable=new Runnable(){
      @Override public void run(){
        boolean asSrc=mBackdrop.getVisibility() != View.VISIBLE;
        mScrimController.setDrawBehindAsSrc(asSrc);
        mStackScroller.setDrawBackgroundAsSrc(asSrc);
      }
    }
;
    mBackdrop.setOnVisibilityChangedRunnable(runnable);
    runnable.run();
  }
  mHeadsUpManager.addListener(mScrimController);
  mStackScroller.setScrimController(mScrimController);
  mStatusBarView.setScrimController(mScrimController);
  mDozeScrimController=new DozeScrimController(mScrimController,context);
  mKeyguardStatusBar=(KeyguardStatusBarView)mStatusBarWindow.findViewById(R.id.keyguard_header);
  mKeyguardStatusView=mStatusBarWindow.findViewById(R.id.keyguard_status_view);
  mKeyguardBottomArea=(KeyguardBottomAreaView)mStatusBarWindow.findViewById(R.id.keyguard_bottom_area);
  mKeyguardBottomArea.setActivityStarter(this);
  mKeyguardBottomArea.setAssistManager(mAssistManager);
  mKeyguardIndicationController=new KeyguardIndicationController(mContext,(KeyguardIndicationTextView)mStatusBarWindow.findViewById(R.id.keyguard_indication_text),mKeyguardBottomArea.getLockIcon());
  mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController);
  if (ENABLE_LOCKSCREEN_WALLPAPER) {
    mLockscreenWallpaper=new LockscreenWallpaper(mContext,this,mHandler);
  }
  setAreThereNotifications();
  createIconController();
  mHandlerThread=new HandlerThread(TAG,Process.THREAD_PRIORITY_BACKGROUND);
  mHandlerThread.start();
  mLocationController=new LocationControllerImpl(mContext,mHandlerThread.getLooper());
  mBatteryController=createBatteryController();
  mBatteryController.addStateChangedCallback(new BatteryStateChangeCallback(){
    @Override public void onPowerSaveChanged(    boolean isPowerSave){
      mHandler.post(mCheckBarModes);
      if (mDozeServiceHost != null) {
        mDozeServiceHost.firePowerSaveChanged(isPowerSave);
      }
    }
    @Override public void onBatteryLevelChanged(    int level,    boolean pluggedIn,    boolean charging){
    }
  }
);
  mNetworkController=new NetworkControllerImpl(mContext,mHandlerThread.getLooper());
  mHotspotController=new HotspotControllerImpl(mContext);
  mBluetoothController=new BluetoothControllerImpl(mContext,mHandlerThread.getLooper());
  mSecurityController=new SecurityControllerImpl(mContext);
  if (mContext.getResources().getBoolean(R.bool.config_showRotationLock)) {
    mRotationLockController=new RotationLockControllerImpl(mContext);
  }
  mUserInfoController=new UserInfoController(mContext);
  mVolumeComponent=getComponent(VolumeComponent.class);
  if (mVolumeComponent != null) {
    mZenModeController=mVolumeComponent.getZenController();
  }
  mCastController=new CastControllerImpl(mContext);
  initSignalCluster(mStatusBarView);
  initSignalCluster(mKeyguardStatusBar);
  mFlashlightController=new FlashlightController(mContext);
  mKeyguardBottomArea.setFlashlightController(mFlashlightController);
  mKeyguardBottomArea.setPhoneStatusBar(this);
  mKeyguardBottomArea.setUserSetupComplete(mUserSetup);
  mAccessibilityController=new AccessibilityController(mContext);
  mKeyguardBottomArea.setAccessibilityController(mAccessibilityController);
  mNextAlarmController=new NextAlarmController(mContext);
  mLightStatusBarController=new LightStatusBarController(mIconController,mBatteryController);
  mKeyguardMonitor=new KeyguardMonitor(mContext);
  if (UserManager.get(mContext).isUserSwitcherEnabled()) {
    mUserSwitcherController=new UserSwitcherController(mContext,mKeyguardMonitor,mHandler,this);
    createUserSwitcher();
  }
  DensityContainer container=(DensityContainer)mStatusBarWindow.findViewById(R.id.qs_density_container);
  if (container != null) {
    final QSTileHost qsh=SystemUIFactory.getInstance().createQSTileHost(mContext,this,mBluetoothController,mLocationController,mRotationLockController,mNetworkController,mZenModeController,mHotspotController,mCastController,mFlashlightController,mUserSwitcherController,mUserInfoController,mKeyguardMonitor,mSecurityController,mBatteryController,mIconController,mNextAlarmController);
    mBrightnessMirrorController=new BrightnessMirrorController(mStatusBarWindow);
    container.addInflateListener(new InflateListener(){
      @Override public void onInflated(      View v){
        QSContainer qsContainer=(QSContainer)v.findViewById(R.id.quick_settings_container);
        qsContainer.setHost(qsh);
        mQSPanel=qsContainer.getQsPanel();
        mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
        mHeader=qsContainer.getHeader();
        initSignalCluster(mHeader);
        mHeader.setActivityStarter(PhoneStatusBar.this);
      }
    }
);
  }
  mKeyguardStatusBar.setUserInfoController(mUserInfoController);
  mKeyguardStatusBar.setUserSwitcherController(mUserSwitcherController);
  mUserInfoController.reloadUserInfo();
  ((BatteryMeterView)mStatusBarView.findViewById(R.id.battery)).setBatteryController(mBatteryController);
  mKeyguardStatusBar.setBatteryController(mBatteryController);
  PowerManager pm=(PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
  mBroadcastReceiver.onReceive(mContext,new Intent(pm.isScreenOn() ? Intent.ACTION_SCREEN_ON : Intent.ACTION_SCREEN_OFF));
  mGestureWakeLock=pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"String_Node_Str");
  mVibrator=mContext.getSystemService(Vibrator.class);
  IntentFilter filter=new IntentFilter();
  filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
  filter.addAction(Intent.ACTION_SCREEN_OFF);
  filter.addAction(Intent.ACTION_SCREEN_ON);
  context.registerReceiverAsUser(mBroadcastReceiver,UserHandle.ALL,filter,null,null);
  IntentFilter demoFilter=new IntentFilter();
  if (DEBUG_MEDIA_FAKE_ARTWORK) {
    demoFilter.addAction(ACTION_FAKE_ARTWORK);
  }
  demoFilter.addAction(ACTION_DEMO);
  context.registerReceiverAsUser(mDemoReceiver,UserHandle.ALL,demoFilter,android.Manifest.permission.DUMP,null);
  resetUserSetupObserver();
  ThreadedRenderer.overrideProperty("String_Node_Str","String_Node_Str");
  ThreadedRenderer.overrideProperty("String_Node_Str",String.valueOf(1.5f));
  return mStatusBarView;
}