Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 001bbbb2 authored by Sailesh Nepal's avatar Sailesh Nepal
Browse files

TTY: frameworks/base changes

This CL makes the following changes:
  1. New public APIs:
    - TelecommManager.getCurrentTtyMode: This is used to
      get current TTY mode. It's used by Telephony to set
      the phone state before calls are created (which is why
      it can't be a Conneciton API).
    - TelecommConstants.TTY_MODE_*: These are constants
      copied from Phone.java
    - TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED: This
      action is fired when the current TTY mode changes.
      Apps can listen to this before and during a call.
      The old version of this was in TtyIntent.java which
      I deleted.

  2. New private API
    - TelecommManager.isTtySupported: This is used by
      Telephony to hide the TTY settings on devices
      that don't support TTY

  3. Various updates to use the constants renamed in this CL

Change-Id: I652b095af30cc2732a06829dc23492e5355660da
parent c295a443
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -7191,6 +7191,7 @@ package android.content {
    field public static final java.lang.String SEARCH_SERVICE = "search";
    field public static final java.lang.String SENSOR_SERVICE = "sensor";
    field public static final java.lang.String STORAGE_SERVICE = "storage";
    field public static final java.lang.String TELECOMM_SERVICE = "telecomm";
    field public static final java.lang.String TELEPHONY_SERVICE = "phone";
    field public static final java.lang.String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
    field public static final java.lang.String TV_INPUT_SERVICE = "tv_input";
@@ -28425,6 +28426,14 @@ package android.telecomm {
    field public static final java.lang.String EXTRA_START_CALL_WITH_VIDEO_STATE = "android.intent.extra.START_CALL_WITH_VIDEO_STATE";
  }
  public class TelecommManager {
    method public void clearAccounts(java.lang.String);
    method public java.util.List<android.telecomm.PhoneAccount> getEnabledPhoneAccounts();
    method public android.telecomm.PhoneAccountMetadata getPhoneAccountMetadata(android.telecomm.PhoneAccount);
    method public void registerPhoneAccount(android.telecomm.PhoneAccount, android.telecomm.PhoneAccountMetadata);
    method public void unregisterPhoneAccount(android.telecomm.PhoneAccount);
  }
  public class VideoCallProfile implements android.os.Parcelable {
    ctor public VideoCallProfile(int, int);
    method public int describeContents();
+0 −1
Original line number Diff line number Diff line
@@ -2539,7 +2539,6 @@ public abstract class Context {
     *
     * @see #getSystemService
     * @see android.telecomm.TelecommManager
     * @hide
     */
    public static final String TELECOMM_SERVICE = "telecomm";

+7 −4
Original line number Diff line number Diff line
@@ -27,11 +27,12 @@ import android.media.AudioManager;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings.Global;
import android.telecomm.TelecommConstants;
import android.telecomm.TelecommManager;
import android.util.Log;

import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.cdma.TtyIntent;
import com.android.systemui.R;

/**
@@ -89,7 +90,7 @@ public class PhoneStatusBarPolicy {
            else if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {
                updateSimState(intent);
            }
            else if (action.equals(TtyIntent.TTY_ENABLED_CHANGE_ACTION)) {
            else if (action.equals(TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED)) {
                updateTTY(intent);
            }
            else if (action.equals(Intent.ACTION_USER_SWITCHED)) {
@@ -110,7 +111,7 @@ public class PhoneStatusBarPolicy {
        filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
        filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
        filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
        filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION);
        filter.addAction(TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED);
        filter.addAction(Intent.ACTION_USER_SWITCHED);
        mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);

@@ -269,7 +270,9 @@ public class PhoneStatusBarPolicy {
    }

    private final void updateTTY(Intent intent) {
        final boolean enabled = intent.getBooleanExtra(TtyIntent.TTY_ENABLED, false);
        int currentTtyMode = intent.getIntExtra(TelecommConstants.EXTRA_CURRENT_TTY_MODE,
                TelecommConstants.TTY_MODE_OFF);
        boolean enabled = currentTtyMode != TelecommConstants.TTY_MODE_OFF;

        if (DEBUG) Log.v(TAG, "updateTTY: enabled: " + enabled);

+6 −7
Original line number Diff line number Diff line
@@ -44,9 +44,9 @@ public abstract class Connection {
        public void onDestroyed(Connection c) {}
        public void onCallCapabilitiesChanged(Connection c, int callCapabilities) {}
        public void onParentConnectionChanged(Connection c, Connection parent) {}
        public void onSetCallVideoProvider(Connection c, CallVideoProvider callVideoProvider) {}
        public void onSetAudioModeIsVoip(Connection c, boolean isVoip) {}
        public void onSetStatusHints(Connection c, StatusHints statusHints) {}
        public void onCallVideoProviderChanged(Connection c, CallVideoProvider callVideoProvider) {}
        public void onAudioModeIsVoipChanged(Connection c, boolean isVoip) {}
        public void onStatusHintsChanged(Connection c, StatusHints statusHints) {}
    }

    public final class State {
@@ -321,7 +321,7 @@ public abstract class Connection {
    public final void setCallVideoProvider(CallVideoProvider callVideoProvider) {
        mCallVideoProvider = callVideoProvider;
        for (Listener l : mListeners) {
            l.onSetCallVideoProvider(this, callVideoProvider);
            l.onCallVideoProviderChanged(this, callVideoProvider);
        }
    }

@@ -415,7 +415,7 @@ public abstract class Connection {
    public final void setAudioModeIsVoip(boolean isVoip) {
        mAudioModeIsVoip = isVoip;
        for (Listener l : mListeners) {
            l.onSetAudioModeIsVoip(this, isVoip);
            l.onAudioModeIsVoipChanged(this, isVoip);
        }
    }

@@ -427,7 +427,7 @@ public abstract class Connection {
    public final void setStatusHints(StatusHints statusHints) {
        mStatusHints = statusHints;
        for (Listener l : mListeners) {
            l.onSetStatusHints(this, statusHints);
            l.onStatusHintsChanged(this, statusHints);
        }
    }

@@ -516,7 +516,6 @@ public abstract class Connection {
     */
    protected void onPhoneAccountClicked() {}


    private void addChild(Connection connection) {
        Log.d(this, "adding child %s", connection);
        mChildConnections.add(connection);
+3 −3
Original line number Diff line number Diff line
@@ -364,19 +364,19 @@ public abstract class ConnectionService extends Service {
        }

        @Override
        public void onSetCallVideoProvider(Connection c, CallVideoProvider callVideoProvider) {
        public void onCallVideoProviderChanged(Connection c, CallVideoProvider callVideoProvider) {
            String id = mIdByConnection.get(c);
            mAdapter.setCallVideoProvider(id, callVideoProvider);
        }

        @Override
        public void onSetAudioModeIsVoip(Connection c, boolean isVoip) {
        public void onAudioModeIsVoipChanged(Connection c, boolean isVoip) {
            String id = mIdByConnection.get(c);
            mAdapter.setAudioModeIsVoip(id, isVoip);
        }

        @Override
        public void onSetStatusHints(Connection c, StatusHints statusHints) {
        public void onStatusHintsChanged(Connection c, StatusHints statusHints) {
            String id = mIdByConnection.get(c);
            mAdapter.setStatusHints(id, statusHints);
        }
Loading