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

Commit dda5391d authored by Wink Saville's avatar Wink Saville
Browse files

Motorola additions for CDMA support without CdmaSuppConnTracker

There are corresponding changes to hardware/ril and packages/apps/Phone
that are required to go with these changes.
parent 1cb62b83
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -151,6 +151,9 @@ public class CallLog {
                int presentation, int callType, long start, int duration) {
            final ContentResolver resolver = context.getContentResolver();

            // TODO(Moto): Which is correct: original code, this only changes the
            // number if the number is empty and never changes the caller info name.
        if (false) {
            if (TextUtils.isEmpty(number)) {
                if (presentation == Connection.PRESENTATION_RESTRICTED) {
                    number = CallerInfo.PRIVATE_NUMBER;
@@ -160,7 +163,22 @@ public class CallLog {
                    number = CallerInfo.UNKNOWN_NUMBER;
                }
            }
        } else {
            // NEWCODE: From Motorola

            //If this is a private number then set the number to Private, otherwise check
            //if the number field is empty and set the number to Unavailable
            if (presentation == Connection.PRESENTATION_RESTRICTED) {
                number = CallerInfo.PRIVATE_NUMBER;
                ci.name = "";
            } else if (presentation == Connection.PRESENTATION_PAYPHONE) {
                number = CallerInfo.PAYPHONE_NUMBER;
                ci.name = "";
            } else if (TextUtils.isEmpty(number) || presentation == Connection.PRESENTATION_UNKNOWN) {
                number = CallerInfo.UNKNOWN_NUMBER;
                ci.name = "";
            }
        }
            ContentValues values = new ContentValues(5);

            values.put(NUMBER, number);
+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ public class DialerKeyListener extends NumberKeyListener
     */
    public static final char[] CHARACTERS = new char[] {
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '#', '*',
            '+', '-', '(', ')', ',', '/', 'N', '.', ' '
            '+', '-', '(', ')', ',', '/', 'N', '.', ' ', ';'
        };

    private static DialerKeyListener sInstance;
+279 −40
Original line number Diff line number Diff line
@@ -178,7 +178,8 @@ public class ToneGenerator
    /**
     * Call supervisory tone, Call Waiting:
     *      CEPT, JAPAN:    425Hz, 200ms ON, 600ms OFF, 200ms ON, 3s OFF...
     *      ANSI (IS-95):   440 Hz, 300 ms ON, 9.7 s OFF, (100 ms ON, 100 ms OFF, 100 ms ON, 9.7s OFF ...)
     *      ANSI (IS-95):   440 Hz, 300 ms ON, 9.7 s OFF,
     *                      (100 ms ON, 100 ms OFF, 100 ms ON, 9.7s OFF ...)
     *
     * @see #ToneGenerator(int, int)
     */
@@ -222,7 +223,8 @@ public class ToneGenerator
     */
    public static final int TONE_PROP_BEEP2 = 28;
    /**
     * Call supervisory tone (IS-95), intercept tone: alternating 440 Hz and 620 Hz tones, each on for 250 ms
     * Call supervisory tone (IS-95), intercept tone: alternating 440 Hz and 620 Hz tones,
     * each on for 250 ms
     *
     * @see #ToneGenerator(int, int)
     */
@@ -240,7 +242,8 @@ public class ToneGenerator
     */
    public static final int TONE_SUP_CONGESTION_ABBREV = 31;
    /**
     * Call supervisory tone (IS-95), confirm tone: a 350 Hz tone added to a 440 Hz tone repeated 3 times in a 100 ms on, 100 ms off cycle
     * Call supervisory tone (IS-95), confirm tone: a 350 Hz tone added to a 440 Hz tone
     * repeated 3 times in a 100 ms on, 100 ms off cycle
     *
     * @see #ToneGenerator(int, int)
     */
@@ -253,6 +256,241 @@ public class ToneGenerator
    public static final int TONE_SUP_PIP = 33;


    /**
     * CDMA SPECIFIC TONES START
     */

    /** TODO(Moto): Change "Proprietary" below with an appropriate specification reference */

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_DIAL_TONE_LITE = 34;

     /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_NETWORK_USA_RINGBACK = 35;

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_REORDER = 36;

   /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
     public static final int TONE_CDMA_ABBR_REORDER = 37;

   /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
     public static final int TONE_CDMA_NETWORK_BUSY = 38;


   /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_ANSWER = 39;

   /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_NETWORK_CALLWAITING = 40;

   /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_PIP = 41;


    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL = 42;

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP = 43;

     /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_SP_PRI = 44;

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 = 45;

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_RING_RING = 46;

    /**
     * Proprietary tone, general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 = 47;

    /**
     * general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 = 48;

    /**
     * general double beep: twice 400Hz+1200Hz, 35ms ON, 200ms OFF, 35ms ON
     *
     * @see #ToneGenerator(int, int)
     *
     * @hide
     */
    public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 = 49;

    // TODO(Moto): Need comments for each one and we need ToneGenerator.cpp/ToneGenerator.h

    /** @hide */
    public static final int TONE_CDMA_HIGH_L = 50;

    /** @hide */
    public static final int TONE_CDMA_LOW_L = 51;
    /** @hide */
    public static final int TONE_CDMA_HIGH_SS = 52;
    /** @hide */
    public static final int TONE_CDMA_MED_SS = 53;
    /** @hide */
    public static final int TONE_CDMA_LOW_SS = 54;
    /** @hide */
    public static final int TONE_CDMA_HIGH_SSL = 55;


    /** @hide */
    public static final int TONE_CDMA_MED_SSL = 56;
    /** @hide */
    public static final int TONE_CDMA_LOW_SSL = 57;
    /** @hide */
    public static final int TONE_CDMA_HIGH_SS_2 = 58;
    /** @hide */
    public static final int TONE_CDMA_MED_SS_2 = 59;
    /** @hide */
    public static final int TONE_CDMA_LOW_SS_2 = 60;
    /** @hide */
    public static final int TONE_CDMA_HIGH_SLS = 61;
    /** @hide */
    public static final int TONE_CDMA_MED_SLS = 62;
    /** @hide */
    public static final int TONE_CDMA_LOW_SLS = 63;
    /** @hide */
    public static final int TONE_CDMA_HIGH_S_X4 = 64;
    /** @hide */
    public static final int TONE_CDMA_MED_S_X4 = 65;
    /** @hide */
    public static final int TONE_CDMA_LOW_S_X4 = 66;
    /** @hide */
    public static final int TONE_CDMA_HIGH_PBX_L = 67;
    /** @hide */
    public static final int TONE_CDMA_MED_PBX_L = 68;
    /** @hide */
    public static final int TONE_CDMA_LOW_PBX_L = 69;
    /** @hide */
    public static final int TONE_CDMA_HIGH_PBX_SS = 70;
    /** @hide */
    public static final int TONE_CDMA_MED_PBX_SS = 71;
    /** @hide */
    public static final int TONE_CDMA_LOW_PBX_SS = 72;
    /** @hide */
    public static final int TONE_CDMA_HIGH_PBX_SSL = 73;
    /** @hide */
    public static final int TONE_CDMA_MED_PBX_SSL = 74;

    /** @hide */
    public static final int TONE_CDMA_LOW_PBX_SSL = 75;
    /** @hide */
    public static final int TONE_CDMA_HIGH_PBX_SLS = 76;
    /** @hide */
    public static final int TONE_CDMA_MED_PBX_SLS = 77;
    /** @hide */
    public static final int TONE_CDMA_LOW_PBX_SLS = 78;
    /** @hide */
    public static final int TONE_CDMA_HIGH_PBX_S_X4 = 79;
    /** @hide */
    public static final int TONE_CDMA_MED_PBX_S_X4 = 80;
    /** @hide */
    public static final int TONE_CDMA_LOW_PBX_S_X4 = 81;
    /** @hide */
    public static final int TONE_CDMA_INTERCEPT_ONE_SHOT = TONE_SUP_INTERCEPT_ABBREV;
    /** @hide */
    public static final int TONE_CDMA_REORDER_ONE_SHOT = TONE_CDMA_ABBR_REORDER;
    /** @hide */
    public static final int TONE_CDMA_NETWORK_BUSY_ONE_SHOT = 82;
    /** @hide */
    public static final int TONE_CDMA_ABBR_ALERT = 83;
    /** @hide */
    public static final int TONE_CDMA_SIGNAL_OFF = 84;
    /** @hide */
    public static final int TONE_CDMA_INVALID = 85;

    /** Maximum volume, for use with {@link #ToneGenerator(int,int)} */
    public static final int MAX_VOLUME = AudioSystem.MAX_VOLUME;
    /** Minimum volume setting, for use with {@link #ToneGenerator(int,int)} */
@@ -328,9 +566,10 @@ public class ToneGenerator
    private native final void native_setup(int streamType, int volume);

    private native final void native_finalize();
    
    @Override
    protected void finalize() { native_finalize(); }

    @SuppressWarnings("unused")
    private int mNativeContext; // accessed by native methods


}
+30 −19
Original line number Diff line number Diff line
@@ -54,10 +54,11 @@ public abstract class BaseCommands implements CommandsInterface {
    protected RegistrantList mIccStatusChangedRegistrants = new RegistrantList();
    protected RegistrantList mVoicePrivacyOnRegistrants = new RegistrantList();
    protected RegistrantList mVoicePrivacyOffRegistrants = new RegistrantList();
    protected RegistrantList mOtaSessionRegistrants = new RegistrantList();
    protected RegistrantList mCallWaitingRegistrants = new RegistrantList();
    protected RegistrantList mInformationRecordsRegistrants = new RegistrantList();
    protected Registrant mUnsolOemHookRawRegistrant;
    protected RegistrantList mOtaProvisionRegistrants = new RegistrantList();
    protected RegistrantList mCallWaitingInfoRegistrants = new RegistrantList();
    protected RegistrantList mDisplayInfoRegistrants = new RegistrantList();
    protected RegistrantList mSignalInfoRegistrants = new RegistrantList();
    protected Registrant mSMSRegistrant;
    protected Registrant mNITZTimeRegistrant;
    protected Registrant mSignalStrengthRegistrant;
@@ -464,41 +465,51 @@ public abstract class BaseCommands implements CommandsInterface {
        mRestrictedStateRegistrant.clear();
    }

    public void setOnUnsolOemHookRaw(Handler h, int what, Object obj) {
        mUnsolOemHookRawRegistrant = new Registrant (h, what, obj);
    public void registerForDisplayInfo(Handler h, int what, Object obj) {
        Registrant r = new Registrant (h, what, obj);
        mDisplayInfoRegistrants.add(r);
    }

    public void unSetOnUnsolOemHookRaw(Handler h) {
        mUnsolOemHookRawRegistrant.clear();
    public void unregisterForDisplayInfo(Handler h) {
        mDisplayInfoRegistrants.remove(h);
    }

    public void registerForOtaSessionStatus(Handler h, int what, Object obj){
    public void registerForCallWaitingInfo(Handler h, int what, Object obj) {
        Registrant r = new Registrant (h, what, obj);
        mOtaSessionRegistrants.add(r);
        mCallWaitingInfoRegistrants.add(r);
    }

    public void unregisterForOtaSessionStatus(Handler h){
        mOtaSessionRegistrants.remove(h);
    public void unregisterForCallWaitingInfo(Handler h) {
        mCallWaitingInfoRegistrants.remove(h);
    }

    public void registerForCdmaCallWaiting(Handler h, int what, Object obj){
    public void registerForSignalInfo(Handler h, int what, Object obj) {
        Registrant r = new Registrant (h, what, obj);
        mCallWaitingRegistrants.add(r);
        mSignalInfoRegistrants.add(r);
    }

    public void setOnUnsolOemHookRaw(Handler h, int what, Object obj) {
        mUnsolOemHookRawRegistrant = new Registrant (h, what, obj);
    }

    public void unregisterForCdmaCallWaiting(Handler h){
        mCallWaitingRegistrants.remove(h);
    public void unSetOnUnsolOemHookRaw(Handler h) {
        mUnsolOemHookRawRegistrant.clear();
    }

    public void registerCdmaInformationRecord(Handler h, int what, Object obj) {
    public void unregisterForSignalInfo(Handler h) {
        mSignalInfoRegistrants.remove(h);
    }
   
    public void registerForCdmaOtaProvision(Handler h,int what, Object obj){
        Registrant r = new Registrant (h, what, obj);
        mInformationRecordsRegistrants.add(r);
        mOtaProvisionRegistrants.add(r); 
    }

    public void unregisterCdmaInformationRecord(Handler h) {
        mInformationRecordsRegistrants.remove(h);
    public void unregisterForCdmaOtaProvision(Handler h){
        mOtaProvisionRegistrants.remove(h);
    }


    //***** Protected Methods
    /**
     * Store new RadioState and send notification based on the changes
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ public abstract class CallTracker extends Handler {
    protected static final int EVENT_CONFERENCE_RESULT    = 11;
    protected static final int EVENT_SEPARATE_RESULT      = 12;
    protected static final int EVENT_ECT_RESULT           = 13;
    protected static final int EVENT_EXIT_ECM_RESPONSE_CDMA = 14;


    protected void pollCallsWhenSafe() {
Loading