Remove un-needed code in NotificationManager.

Notification variable is not longer used.  Line 1116 of original code.
Much of the method was logic for building this notification variable via
the builder object.  This CL removes code that was only used by this
builder.

Bug: 10605959
Change-Id: I4520f59579c7a25fbacf9db73772fd87180a8423
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index de5052f..d2c9d8b 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -137,7 +137,6 @@
 
     private PhoneGlobals mApplication;
     private CallManager mCM;
-    private CallStateMonitor mCallStateMonitor;
     private Ringer mRinger;
     private BluetoothHeadset mBluetoothHeadset;
     private CallLogger mCallLogger;
@@ -193,7 +192,6 @@
         mApplication = app;
         mCM = app.mCM;
         mCallLogger = callLogger;
-        mCallStateMonitor = callStateMonitor;
         mBluetoothManager = bluetoothManager;
 
         mAudioManager = (AudioManager) mApplication.getSystemService(Context.AUDIO_SERVICE);
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 4c0c8ed..5c33ab4 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -103,7 +103,6 @@
     private Context mContext;
     private NotificationManager mNotificationManager;
     private StatusBarManager mStatusBarManager;
-    private PowerManager mPowerManager;
     private Toast mToast;
     private boolean mShowingSpeakerphoneIcon;
     private boolean mShowingMuteIcon;
@@ -113,9 +112,7 @@
     // used to track the missed call counter, default to 0.
     private int mNumberMissedCalls = 0;
 
-    // Currently-displayed resource IDs for some status bar icons (or zero
-    // if no notification is active):
-    private int mInCallResId;
+    private boolean mHasInCallNotification = false;
 
     // used to track the notification of selected network unavailable
     private boolean mSelectedUnavailableNotify = false;
@@ -141,8 +138,6 @@
                 (NotificationManager) app.getSystemService(Context.NOTIFICATION_SERVICE);
         mStatusBarManager =
                 (StatusBarManager) app.getSystemService(Context.STATUS_BAR_SERVICE);
-        mPowerManager =
-                (PowerManager) app.getSystemService(Context.POWER_SERVICE);
         mPhone = app.phone;  // TODO: better style to use mCM.getDefaultPhone() everywhere instead
         mCM = app.mCM;
         statusBarHelper = new StatusBarHelper();
@@ -775,7 +770,6 @@
      *   layer (see updateNotificationAndLaunchIncomingCallUi().)
      */
     private void updateInCallNotification(boolean allowFullScreenIntent) {
-        int resId;
         if (DBG) log("updateInCallNotification(allowFullScreenIntent = "
                      + allowFullScreenIntent + ")...");
 
@@ -797,12 +791,8 @@
         }
 
         final boolean hasRingingCall = mCM.hasActiveRingingCall();
-        final boolean hasActiveCall = mCM.hasActiveFgCall();
-        final boolean hasHoldingCall = mCM.hasActiveBgCall();
         if (DBG) {
             log("  - hasRingingCall = " + hasRingingCall);
-            log("  - hasActiveCall = " + hasActiveCall);
-            log("  - hasHoldingCall = " + hasHoldingCall);
         }
 
         // Suppress the in-call notification if the InCallScreen is the
@@ -839,235 +829,14 @@
             return;
         }
 
-        // Display the appropriate icon in the status bar,
-        // based on the current phone and/or bluetooth state.
-
-        if (hasRingingCall) {
-            // There's an incoming ringing call.
-            resId = R.drawable.stat_sys_phone_call;
-        } else if (!hasActiveCall && hasHoldingCall) {
-            // There's only one call, and it's on hold.
-            if (enhancedVoicePrivacy) {
-                resId = R.drawable.stat_sys_vp_phone_call_on_hold;
-            } else {
-                resId = R.drawable.stat_sys_phone_call_on_hold;
-            }
-        } else {
-            if (enhancedVoicePrivacy) {
-                resId = R.drawable.stat_sys_vp_phone_call;
-            } else {
-                resId = R.drawable.stat_sys_phone_call;
-            }
-        }
-
-        // Note we can't just bail out now if (resId == mInCallResId),
-        // since even if the status icon hasn't changed, some *other*
-        // notification-related info may be different from the last time
-        // we were here (like the caller-id info of the foreground call,
-        // if the user swapped calls...)
-
-        if (DBG) log("- Updating status bar icon: resId = " + resId);
-        mInCallResId = resId;
-
-        // Even if both lines are in use, we only show a single item in
-        // the expanded Notifications UI.  It's labeled "Ongoing call"
-        // (or "On hold" if there's only one call, and it's on hold.)
-        // Also, we don't have room to display caller-id info from two
-        // different calls.  So if both lines are in use, display info
-        // from the foreground call.  And if there's a ringing call,
-        // display that regardless of the state of the other calls.
-
-        Call currentCall;
-        if (hasRingingCall) {
-            currentCall = mCM.getFirstActiveRingingCall();
-        } else if (hasActiveCall) {
-            currentCall = mCM.getActiveFgCall();
-        } else {
-            currentCall = mCM.getFirstActiveBgCall();
-        }
-        Connection currentConn = currentCall.getEarliestConnection();
-
-        final Notification.Builder builder = new Notification.Builder(mContext);
-        builder.setSmallIcon(mInCallResId).setOngoing(true);
-
-        // PendingIntent that can be used to launch the InCallScreen.  The
-        // system fires off this intent if the user pulls down the windowshade
-        // and clicks the notification's expanded view.  It's also used to
-        // launch the InCallScreen immediately when when there's an incoming
-        // call (see the "fullScreenIntent" field below).
-        PendingIntent inCallPendingIntent =
-                PendingIntent.getActivity(mContext, 0,
-                                          PhoneGlobals.createInCallIntent(), 0);
-        builder.setContentIntent(inCallPendingIntent);
-
-        // Update icon on the left of the notification.
-        // - If it is directly available from CallerInfo, we'll just use that.
-        // - If it is not, use the same icon as in the status bar.
-        CallerInfo callerInfo = null;
-        if (currentConn != null) {
-            Object o = currentConn.getUserData();
-            if (o instanceof CallerInfo) {
-                callerInfo = (CallerInfo) o;
-            } else if (o instanceof PhoneUtils.CallerInfoToken) {
-                callerInfo = ((PhoneUtils.CallerInfoToken) o).currentInfo;
-            } else {
-                Log.w(LOG_TAG, "CallerInfo isn't available while Call object is available.");
-            }
-        }
-        boolean largeIconWasSet = false;
-        if (callerInfo != null) {
-            // In most cases, the user will see the notification after CallerInfo is already
-            // available, so photo will be available from this block.
-            if (callerInfo.isCachedPhotoCurrent) {
-                // .. and in that case CallerInfo's cachedPhotoIcon should also be available.
-                // If it happens not, then try using cachedPhoto, assuming Drawable coming from
-                // ContactProvider will be BitmapDrawable.
-                if (callerInfo.cachedPhotoIcon != null) {
-                    builder.setLargeIcon(callerInfo.cachedPhotoIcon);
-                    largeIconWasSet = true;
-                } else if (callerInfo.cachedPhoto instanceof BitmapDrawable) {
-                    if (DBG) log("- BitmapDrawable found for large icon");
-                    Bitmap bitmap = ((BitmapDrawable) callerInfo.cachedPhoto).getBitmap();
-                    builder.setLargeIcon(bitmap);
-                    largeIconWasSet = true;
-                } else {
-                    if (DBG) {
-                        log("- Failed to fetch icon from CallerInfo's cached photo."
-                                + " (cachedPhotoIcon: " + callerInfo.cachedPhotoIcon
-                                + ", cachedPhoto: " + callerInfo.cachedPhoto + ")."
-                                + " Ignore it.");
-                    }
-                }
-            }
-
-            if (!largeIconWasSet && callerInfo.photoResource > 0) {
-                if (DBG) {
-                    log("- BitmapDrawable nor person Id not found for large icon."
-                            + " Use photoResource: " + callerInfo.photoResource);
-                }
-                Drawable drawable =
-                        mContext.getResources().getDrawable(callerInfo.photoResource);
-                if (drawable instanceof BitmapDrawable) {
-                    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
-                    builder.setLargeIcon(bitmap);
-                    largeIconWasSet = true;
-                } else {
-                    if (DBG) {
-                        log("- PhotoResource was found but it didn't return BitmapDrawable."
-                                + " Ignore it");
-                    }
-                }
-            }
-        } else {
-            if (DBG) log("- CallerInfo not found. Use the same icon as in the status bar.");
-        }
-
-        // Failed to fetch Bitmap.
-        if (!largeIconWasSet && DBG) {
-            log("- No useful Bitmap was found for the photo."
-                    + " Use the same icon as in the status bar.");
-        }
-
-        // If the connection is valid, then build what we need for the
-        // content text of notification, and start the chronometer.
-        // Otherwise, don't bother and just stick with content title.
-        if (currentConn != null) {
-            if (DBG) log("- Updating context text and chronometer.");
-            if (hasRingingCall) {
-                // Incoming call is ringing.
-                builder.setContentText(mContext.getString(R.string.notification_incoming_call));
-                builder.setUsesChronometer(false);
-            } else if (hasHoldingCall && !hasActiveCall) {
-                // Only one call, and it's on hold.
-                builder.setContentText(mContext.getString(R.string.notification_on_hold));
-                builder.setUsesChronometer(false);
-            } else {
-                // We show the elapsed time of the current call using Chronometer.
-                builder.setUsesChronometer(true);
-
-                // Determine the "start time" of the current connection.
-                //   We can't use currentConn.getConnectTime(), because (1) that's
-                // in the currentTimeMillis() time base, and (2) it's zero when
-                // the phone first goes off hook, since the getConnectTime counter
-                // doesn't start until the DIALING -> ACTIVE transition.
-                //   Instead we start with the current connection's duration,
-                // and translate that into the elapsedRealtime() timebase.
-                long callDurationMsec = currentConn.getDurationMillis();
-                builder.setWhen(System.currentTimeMillis() - callDurationMsec);
-
-                int contextTextId = R.string.notification_ongoing_call;
-
-                Call call = mCM.getActiveFgCall();
-                if (TelephonyCapabilities.canDistinguishDialingAndConnected(
-                        call.getPhone().getPhoneType()) && call.isDialingOrAlerting()) {
-                  contextTextId = R.string.notification_dialing;
-                }
-
-                builder.setContentText(mContext.getString(contextTextId));
-            }
-        } else if (DBG) {
-            Log.w(LOG_TAG, "updateInCallNotification: null connection, can't set exp view line 1.");
-        }
-
-        // display conference call string if this call is a conference
-        // call, otherwise display the connection information.
-
-        // Line 2 of the expanded view (smaller text).  This is usually a
-        // contact name or phone number.
-        String expandedViewLine2 = "";
-        // TODO: it may not make sense for every point to make separate
-        // checks for isConferenceCall, so we need to think about
-        // possibly including this in startGetCallerInfo or some other
-        // common point.
-        if (PhoneUtils.isConferenceCall(currentCall)) {
-            // if this is a conference call, just use that as the caller name.
-            expandedViewLine2 = mContext.getString(R.string.card_title_conf_call);
-        } else {
-            // If necessary, start asynchronous query to do the caller-id lookup.
-            PhoneUtils.CallerInfoToken cit =
-                PhoneUtils.startGetCallerInfo(mContext, currentCall, this, this);
-            expandedViewLine2 = PhoneUtils.getCompactNameFromCallerInfo(cit.currentInfo, mContext);
-            // Note: For an incoming call, the very first time we get here we
-            // won't have a contact name yet, since we only just started the
-            // caller-id query.  So expandedViewLine2 will start off as a raw
-            // phone number, but we'll update it very quickly when the query
-            // completes (see onQueryComplete() below.)
-        }
-
-        if (DBG) log("- Updating expanded view: line 2 '" + /*expandedViewLine2*/ "xxxxxxx" + "'");
-        builder.setContentTitle(expandedViewLine2);
-
-        // TODO: We also need to *update* this notification in some cases,
-        // like when a call ends on one line but the other is still in use
-        // (ie. make sure the caller info here corresponds to the active
-        // line), and maybe even when the user swaps calls (ie. if we only
-        // show info here for the "current active call".)
+        mHasInCallNotification = true;
 
         // Activate a couple of special Notification features if an
         // incoming call is ringing:
         if (hasRingingCall) {
             if (DBG) log("- Using hi-pri notification for ringing call!");
 
-            // This is a high-priority event that should be shown even if the
-            // status bar is hidden or if an immersive activity is running.
-            builder.setPriority(Notification.PRIORITY_HIGH);
-
-            // If an immersive activity is running, we have room for a single
-            // line of text in the small notification popup window.
-            // We use expandedViewLine2 for this (i.e. the name or number of
-            // the incoming caller), since that's more relevant than
-            // expandedViewLine1 (which is something generic like "Incoming
-            // call".)
-            builder.setTicker(expandedViewLine2);
-
             if (allowFullScreenIntent) {
-                // Ok, we actually want to launch the incoming call
-                // UI at this point (in addition to simply posting a notification
-                // to the status bar).  Setting fullScreenIntent will cause
-                // the InCallScreen to be launched immediately *unless* the
-                // current foreground activity is marked as "immersive".
-                if (DBG) log("- Setting fullScreenIntent: " + inCallPendingIntent);
-                builder.setFullScreenIntent(inCallPendingIntent, true);
 
                 // Ugly hack alert:
                 //
@@ -1098,23 +867,8 @@
                     mNotificationManager.cancel(IN_CALL_NOTIFICATION);
                 }
             }
-        } else { // not ringing call
-            // Make the notification prioritized over the other normal notifications.
-            builder.setPriority(Notification.PRIORITY_HIGH);
-
-            // TODO: use "if (DBG)" for this comment.
-            log("Will show \"hang-up\" action in the ongoing active call Notification");
-            // TODO: use better asset.
-            builder.addAction(R.drawable.stat_sys_phone_call_end,
-                    mContext.getText(R.string.notification_action_end_call),
-                    PhoneGlobals.createHangUpOngoingCallPendingIntent(mContext));
         }
 
-        Notification notification = builder.getNotification();
-        if (DBG) log("Notifying IN_CALL_NOTIFICATION: " + notification);
-        // TODO(klp): not needed anymore.  Possibly delete this and move notification to incallui.
-        //mNotificationManager.notify(IN_CALL_NOTIFICATION, notification);
-
         // Finally, refresh the mute and speakerphone notifications (since
         // some phone state changes can indirectly affect the mute and/or
         // speaker state).
@@ -1159,7 +913,7 @@
     private void cancelInCall() {
         if (DBG) log("cancelInCall()...");
         mNotificationManager.cancel(IN_CALL_NOTIFICATION);
-        mInCallResId = 0;
+        mHasInCallNotification = false;
     }
 
     /**
@@ -1168,11 +922,11 @@
      */
     /* package */ void cancelCallInProgressNotifications() {
         if (DBG) log("cancelCallInProgressNotifications()...");
-        if (mInCallResId == 0) {
+        if (!mHasInCallNotification) {
             return;
         }
 
-        if (DBG) log("cancelCallInProgressNotifications: " + mInCallResId);
+        if (DBG) log("cancelCallInProgressNotifications");
         cancelInCall();
         cancelMute();
         cancelSpeakerphone();