Handle secret codes without pressing dial button
Some OEMs may want different secret code sequence.
Commmon secret codes will start with *#*# ends with #*#*
and should have 4 digit as secret code but some OEMs codes do not
follow this secret code guideline. Some starts with *# and ends
with # or *# and all secret code has extended codes
Fix: Added code to understand OEMs codes
(i.e # & *#, etc).Modified Action in OEMs application to
receive broadcast without Dial button.
Added required resources in overlay
Change-Id: I735779df6d8a16fd79e2dc7227228546530f2496
CRs-Fixed: 1072624
diff --git a/res/values/qtistrings.xml b/res/values/qtistrings.xml
new file mode 100644
index 0000000..a11e5e5
--- /dev/null
+++ b/res/values/qtistrings.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ ~
+ ~ Redistribution and use in source and binary forms, with or without
+ ~ modification, are permitted provided that the following conditions are
+ ~ met:
+ ~ * Redistributions of source code must retain the above copyright
+ ~ notice, this list of conditions and the following disclaimer.
+ ~ * Redistributions in binary form must reproduce the above
+ ~ copyright notice, this list of conditions and the following
+ ~ disclaimer in the documentation and/or other materials provided
+ ~ with the distribution.
+ ~ * Neither the name of The Linux Foundation nor the names of its
+ ~ contributors may be used to endorse or promote products derived
+ ~ from this software without specific prior written permission.
+ ~
+ ~ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ ~ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ ~ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ ~ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ ~ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ ~ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ ~ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ -->
+<!-- The xml contains Qti specific resource strings neede for any value added features. -->
+<resources>
+ <!-- OEM Key strings -->
+ <string name="oem_key_code_action"></string>
+ <string name="oem_code"></string>
+</resources>
diff --git a/src/com/android/dialer/SpecialCharSequenceMgr.java b/src/com/android/dialer/SpecialCharSequenceMgr.java
index 55f3fd7..fff7d19 100644
--- a/src/com/android/dialer/SpecialCharSequenceMgr.java
+++ b/src/com/android/dialer/SpecialCharSequenceMgr.java
@@ -202,7 +202,15 @@
context.sendBroadcast(intent);
return true;
}
-
+ if (!TextUtils.isEmpty(context.getString(R.string.oem_key_code_action))) {
+ if (len > 10 && !input.startsWith("*#*#")
+ && input.startsWith("*#") && input.endsWith("#")) {
+ Intent intent = new Intent(context.getString(R.string.oem_key_code_action));
+ intent.putExtra(context.getString(R.string.oem_code), input);
+ context.sendBroadcast(intent);
+ return true;
+ }
+ }
return false;
}