Revert "Add back in-call vibration features"

This reverts commit 8891d3427aefd06a665afa6368a71898c5e20668.

Change-Id: Ib0a7dfc04fc6267f043a3da3a9f29dc8fc413d7c
diff --git a/java/com/android/dialer/app/res/values/cm_strings.xml b/java/com/android/dialer/app/res/values/cm_strings.xml
index 336c820..b33349a 100644
--- a/java/com/android/dialer/app/res/values/cm_strings.xml
+++ b/java/com/android/dialer/app/res/values/cm_strings.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
      Copyright (C) 2013-2014 The CyanogenMod Project
+     Copyright (C) 2018 The LineageOS Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -18,13 +19,6 @@
     <string name="incall_category_key" translatable="false">dialer_general_incall_category_key</string>
     <string name="incall_category_title">In-call</string>
     <string name="incall_enable_dnd_title">Enable Do Not Disturb during calls</string>
-    <string name="incall_vibration_category_key" translatable="false">dialer_general_incall_vibration_category_key</string>
-    <string name="incall_vibration_category_title">In-call vibration</string>
-    <string name="incall_vibrate_outgoing_title">Vibrate on answer</string>
-    <string name="incall_vibrate_call_waiting_title">Vibrate on call waiting</string>
-    <string name="incall_vibrate_hangup_title">Vibrate on hang up</string>
-    <string name="incall_vibrate_45_title">Vibrate every minute</string>
-    <string name="incall_vibrate_45_summary">Vibrates at the 45 second mark of every minute during outgoing calls</string>
     <string name="incall_dnd_dialog_message">In order to enable Do Not Disturb, the Phone app needs to be granted the permission to control the Do Not Disturb status.\nPlease allow it.</string>
     <string name="allow">Allow</string>
     <string name="deny">Deny</string>
diff --git a/java/com/android/dialer/app/res/xml/sound_settings.xml b/java/com/android/dialer/app/res/xml/sound_settings.xml
index 248a7ae..b862fd8 100644
--- a/java/com/android/dialer/app/res/xml/sound_settings.xml
+++ b/java/com/android/dialer/app/res/xml/sound_settings.xml
@@ -44,31 +44,14 @@
     android:title="@string/dtmf_tone_length_title"/>
 
   <PreferenceCategory
-    android:key="@string/incall_vibration_category_key"
-    android:title="@string/incall_vibration_category_title">
+    android:key="@string/incall_category_key"
+    android:title="@string/incall_category_title">
 
     <SwitchPreference
         android:defaultValue="false"
         android:key="incall_enable_dnd"
         android:title="@string/incall_enable_dnd_title"/>
 
-    <CheckBoxPreference
-      android:key="incall_vibrate_outgoing"
-      android:title="@string/incall_vibrate_outgoing_title" />
-
-    <CheckBoxPreference
-      android:key="incall_vibrate_call_waiting"
-      android:title="@string/incall_vibrate_call_waiting_title" />
-
-    <CheckBoxPreference
-      android:key="incall_vibrate_hangup"
-      android:title="@string/incall_vibrate_hangup_title" />
-
-    <CheckBoxPreference
-      android:key="incall_vibrate_45secs"
-      android:title="@string/incall_vibrate_45_title"
-     android:summary="@string/incall_vibrate_45_summary" />
-
   </PreferenceCategory>
 
   <PreferenceCategory
diff --git a/java/com/android/dialer/app/settings/SoundSettingsFragment.java b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
index 8afffd4..634f993 100644
--- a/java/com/android/dialer/app/settings/SoundSettingsFragment.java
+++ b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
@@ -105,11 +105,7 @@
     if (hasVibrator()) {
       vibrateWhenRinging.setOnPreferenceChangeListener(this);
     } else {
-      PreferenceScreen ps = getPreferenceScreen();
-      Preference inCallVibration = findPreference(
-          context.getString(R.string.incall_vibration_category_key));
-      ps.removePreference(vibrateWhenRinging);
-      ps.removePreference(inCallVibration);
+      getPreferenceScreen().removePreference(vibrateWhenRinging);
       vibrateWhenRinging = null;
     }
 
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 83ec9ab..4e90eb6 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -127,7 +127,6 @@
 
   private StatusBarNotifier statusBarNotifier;
   private ExternalCallNotifier externalCallNotifier;
-  private InCallVibrationHandler vibrationHandler;
   private InCallDndHandler dndHandler;
   private ContactInfoCache contactInfoCache;
   private Context context;
@@ -363,8 +362,6 @@
         .getEnrichedCallManager()
         .registerStateChangedListener(this.statusBarNotifier);
 
-    vibrationHandler = new InCallVibrationHandler(context);
-    addListener(vibrationHandler);
 
     dndHandler = new InCallDndHandler(context);
     addListener(dndHandler);
@@ -1656,11 +1653,6 @@
       }
       statusBarNotifier = null;
 
-      if (vibrationHandler != null) {
-        removeListener(vibrationHandler);
-      }
-      vibrationHandler = null;
-
       if (dndHandler != null) {
         removeListener(dndHandler);
       }
diff --git a/java/com/android/incallui/InCallVibrationHandler.java b/java/com/android/incallui/InCallVibrationHandler.java
deleted file mode 100644
index 067d6bf..0000000
--- a/java/com/android/incallui/InCallVibrationHandler.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (C) 2014 The CyanogenMod Project
- *
- * 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 com.android.incallui;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Handler;
-import android.os.Message;
-import android.os.Vibrator;
-import android.preference.PreferenceManager;
-import android.telecom.DisconnectCause;
-
-import com.android.incallui.call.CallList;
-import com.android.incallui.call.DialerCall;
-import com.android.incallui.call.state.DialerCallState;
-import com.android.incallui.InCallPresenter.InCallState;
-
-public class InCallVibrationHandler extends Handler implements
-    InCallPresenter.InCallStateListener {
-
-  private static final int MSG_VIBRATE_45_SEC = 1;
-
-  private static final String KEY_VIBRATE_CALL_WAITING = "incall_vibrate_call_waiting";
-  private static final String KEY_VIBRATE_OUTGOING = "incall_vibrate_outgoing";
-  private static final String KEY_VIBRATE_45SECS = "incall_vibrate_45secs";
-  private static final String KEY_VIBRATE_HANGUP = "incall_vibrate_hangup";
-
-  private SharedPreferences prefs;
-  private Vibrator vibrator;
-  private DialerCall activeCall;
-
-  public InCallVibrationHandler(Context context) {
-    prefs = PreferenceManager.getDefaultSharedPreferences(context);
-    vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
-  }
-
-  @Override
-  public void handleMessage(Message msg) {
-    switch (msg.what) {
-      case MSG_VIBRATE_45_SEC:
-        vibrate(70, 0, 0);
-        sendEmptyMessageDelayed(MSG_VIBRATE_45_SEC, 60000);
-        break;
-    }
-  }
-
-  @Override
-  public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
-    DialerCall activeCall = callList.getActiveCall();
-
-    if (activeCall != null && this.activeCall == null) {
-      Log.d(this, "Transition to active call " + activeCall);
-      if (activeCall.isOutgoing()) {
-        handleOutgoingCallVibration(activeCall);
-      }
-      this.activeCall = activeCall;
-    } else if (activeCall != null && callList.getIncomingCall() != null
-        && !callList.getIncomingCall().equals(activeCall)) {
-      Log.d(this, "New incoming call" + callList.getIncomingCall());
-      handleCallWaitingVibration(activeCall);
-    } else if (activeCall == null && this.activeCall != null) {
-      Log.d(this, "Transition from active call " + this.activeCall);
-      handleCallEnd(this.activeCall);
-      this.activeCall = null;
-    }
-  }
-
-  private void handleOutgoingCallVibration(DialerCall call) {
-    long durationMillis = System.currentTimeMillis() - call.getConnectTimeMillis();
-    Log.d(this, "Start outgoing call: duration = " + durationMillis);
-
-    if (prefs.getBoolean(KEY_VIBRATE_OUTGOING, false) && durationMillis < 200) {
-      vibrate(100, 200, 0);
-    }
-    if (prefs.getBoolean(KEY_VIBRATE_45SECS, false)) {
-      start45SecondVibration(durationMillis);
-    }
-  }
-
-  private void handleCallWaitingVibration(DialerCall call) {
-    Log.d(this, "Start call waiting vibration");
-    if (prefs.getBoolean(KEY_VIBRATE_CALL_WAITING, false)) {
-      vibrate(200, 300, 500);
-    }
-  }
-
-  private void handleCallEnd(DialerCall call) {
-    long durationMillis = System.currentTimeMillis() - call.getConnectTimeMillis();
-    DisconnectCause cause = call.getDisconnectCause();
-    boolean localDisconnect =
-        // Disconnection not yet processed
-        call.getState() == DialerCallState.DISCONNECTING ||
-        // Disconnection already processed
-        (cause != null && cause.getCode() == DisconnectCause.LOCAL);
-
-    Log.d(this, "Ending active call: duration = " + durationMillis
-        + ", locally disconnected = " + localDisconnect);
-
-    if (prefs.getBoolean(KEY_VIBRATE_HANGUP, false)
-        && !localDisconnect && durationMillis > 500) {
-      vibrate(50, 100, 50);
-    }
-    // Stop 45-second vibration
-    removeMessages(MSG_VIBRATE_45_SEC);
-  }
-
-  private void start45SecondVibration(long callDurationMillis) {
-    callDurationMillis = callDurationMillis % 60000;
-    Log.d(this, "vibrate start @" + callDurationMillis);
-    removeMessages(MSG_VIBRATE_45_SEC);
-
-    long timer;
-    if (callDurationMillis > 45000) {
-        // Schedule the alarm at the next minute + 45 secs
-        timer = 45000 + 60000 - callDurationMillis;
-    } else {
-        // Schedule the alarm at the first 45 second mark
-        timer = 45000 - callDurationMillis;
-    }
-    sendEmptyMessageDelayed(MSG_VIBRATE_45_SEC, timer);
-  }
-
-  private void vibrate(int v1, int p1, int v2) {
-    long[] pattern = new long[] {
-      0, v1, p1, v2
-    };
-    vibrator.vibrate(pattern, -1);
-  }
-}
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 07cfe3f..1f4e49a 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -171,7 +171,6 @@
 
   @Nullable private SpamStatus spamStatus;
   private boolean isBlocked;
-  private boolean isOutgoing;
 
   private boolean didShowCameraPermission;
   private boolean didDismissVideoChargesAlertDialog;
@@ -901,8 +900,6 @@
           logState.dialerConnectTimeMillisElapsedRealtime == 0
               ? 0
               : SystemClock.elapsedRealtime() - logState.dialerConnectTimeMillisElapsedRealtime;
-    } else if (state == DialerCallState.DIALING || state == DialerCallState.CONNECTING) {
-      isOutgoing = true;
     }
   }
 
@@ -911,10 +908,6 @@
     this.clock = clock;
   }
 
-  public boolean isOutgoing() {
-    return isOutgoing;
-  }
-
   public int getNumberPresentation() {
     return telecomCall == null ? -1 : telecomCall.getDetails().getHandlePresentation();
   }