Program: 2237
Project: 2237
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public void setImeWindowStatus(IBinder token,int vis,int backDisposition){
  final long ident=Binder.clearCallingIdentity();
  try {
    if (token == null || mCurToken != token) {
      int uid=Binder.getCallingUid();
      Slog.w(TAG,"String_Node_Str" + uid + "String_Node_Str"+ token);
      return;
    }
synchronized (mMethodMap) {
      mImeWindowVis=vis;
      mBackDisposition=backDisposition;
      if (mStatusBar != null) {
        mStatusBar.setImeWindowStatus(token,vis,backDisposition);
      }
      final boolean iconVisibility=(vis & InputMethodService.IME_ACTIVE) != 0;
      final InputMethodInfo imi=mMethodMap.get(mCurMethodId);
      if (imi != null && iconVisibility && needsToShowImeSwitchOngoingNotification()) {
        final PackageManager pm=mContext.getPackageManager();
        final CharSequence title=mRes.getText(com.android.internal.R.string.select_input_method);
        final CharSequence imiLabel=imi.loadLabel(pm);
        final CharSequence summary=mCurrentSubtype != null ? TextUtils.concat(mCurrentSubtype.getDisplayName(mContext,imi.getPackageName(),imi.getServiceInfo().applicationInfo),(TextUtils.isEmpty(imiLabel) ? "String_Node_Str" : "String_Node_Str" + imiLabel)) : imiLabel;
        mImeSwitcherNotification.setLatestEventInfo(mContext,title,summary,mImeSwitchPendingIntent);
        if (mNotificationManager != null) {
          if (DEBUG) {
            Slog.d(TAG,"String_Node_Str" + imiLabel + "String_Node_Str"+ summary);
          }
          mNotificationManager.notifyAsUser(null,com.android.internal.R.string.select_input_method,mImeSwitcherNotification,UserHandle.ALL);
          mNotificationShown=true;
        }
      }
 else {
        if (mNotificationShown && mNotificationManager != null) {
          if (DEBUG) {
            Slog.d(TAG,"String_Node_Str");
          }
          mNotificationManager.cancelAsUser(null,com.android.internal.R.string.select_input_method,UserHandle.ALL);
          mNotificationShown=false;
        }
      }
    }
  }
  finally {
    Binder.restoreCallingIdentity(ident);
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public void setImeWindowStatus(IBinder token,int vis,int backDisposition){
  final long ident=Binder.clearCallingIdentity();
  try {
    if (token == null || mCurToken != token) {
      int uid=Binder.getCallingUid();
      Slog.w(TAG,"String_Node_Str" + uid + "String_Node_Str"+ token);
      return;
    }
synchronized (mMethodMap) {
      mImeWindowVis=vis;
      mBackDisposition=backDisposition;
      if (mStatusBar != null) {
        mStatusBar.setImeWindowStatus(token,vis,backDisposition);
      }
      final boolean iconVisibility=((vis & (InputMethodService.IME_ACTIVE)) != 0) && (mWindowManagerService.isHardKeyboardAvailable() || (vis & (InputMethodService.IME_VISIBLE)) != 0);
      final InputMethodInfo imi=mMethodMap.get(mCurMethodId);
      if (imi != null && iconVisibility && needsToShowImeSwitchOngoingNotification()) {
        final PackageManager pm=mContext.getPackageManager();
        final CharSequence title=mRes.getText(com.android.internal.R.string.select_input_method);
        final CharSequence imiLabel=imi.loadLabel(pm);
        final CharSequence summary=mCurrentSubtype != null ? TextUtils.concat(mCurrentSubtype.getDisplayName(mContext,imi.getPackageName(),imi.getServiceInfo().applicationInfo),(TextUtils.isEmpty(imiLabel) ? "String_Node_Str" : "String_Node_Str" + imiLabel)) : imiLabel;
        mImeSwitcherNotification.setLatestEventInfo(mContext,title,summary,mImeSwitchPendingIntent);
        if (mNotificationManager != null) {
          if (DEBUG) {
            Slog.d(TAG,"String_Node_Str" + imiLabel + "String_Node_Str"+ summary);
          }
          mNotificationManager.notifyAsUser(null,com.android.internal.R.string.select_input_method,mImeSwitcherNotification,UserHandle.ALL);
          mNotificationShown=true;
        }
      }
 else {
        if (mNotificationShown && mNotificationManager != null) {
          if (DEBUG) {
            Slog.d(TAG,"String_Node_Str");
          }
          mNotificationManager.cancelAsUser(null,com.android.internal.R.string.select_input_method,UserHandle.ALL);
          mNotificationShown=false;
        }
      }
    }
  }
  finally {
    Binder.restoreCallingIdentity(ident);
  }
}