summaryrefslogtreecommitdiffstats
path: root/SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java
diff options
context:
space:
mode:
Diffstat (limited to 'SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java')
-rw-r--r--SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java110
1 files changed, 110 insertions, 0 deletions
diff --git a/SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java b/SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java
new file mode 100644
index 0000000..ccc2d48
--- /dev/null
+++ b/SamsungServiceMode/src/com/cyanogenmod/samsungservicemode/OemCommands.java
@@ -0,0 +1,110 @@
+package com.cyanogenmod.samsungservicemode;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import android.util.Log;
+
+class OemCommands {
+
+ private static final String TAG = "OemCommands";
+
+ public static final char OEM_SERVM_FUNCTAG = 1;
+ public static final char OEM_SM_ACTION = 0;
+ public static final char OEM_SM_QUERY = 1;
+ public static final char OEM_SM_DUMMY = 0;
+ public static final char OEM_SM_ENTER_MODE_MESSAGE = 1;
+ public static final char OEM_SM_END_MODE_MESSAGE = 2;
+ public static final char OEM_SM_PROCESS_KEY_MESSAGE = 3;
+ public static final char OEM_SM_GET_DISPLAY_DATA_MESSAGE = 4;
+ public static final char OEM_SM_TYPE_TEST_MANUAL = 1;
+ public static final char OEM_SM_TYPE_TEST_AUTO = 2;
+ public static final char OEM_SM_TYPE_NAM_EDIT = 3;
+ public static final char OEM_SM_TYPE_MONITOR = 4;
+ public static final char OEM_SM_TYPE_PHONE_TEST = 5;
+ public static final char OEM_SM_TYPE_SUB_ENTER = 0;
+ public static final char OEM_SM_TYPE_SUB_SW_VERSION_ENTER = 1;
+ public static final char OEM_SM_TYPE_SUB_FTA_SW_VERSION_ENTER = 2;
+ public static final char OEM_SM_TYPE_SUB_FTA_HW_VERSION_ENTER = 3;
+ public static final char OEM_SM_TYPE_SUB_ALL_VERSION_ENTER = 4;
+ public static final char OEM_SM_TYPE_SUB_BATTERY_INFO_ENTER = 5;
+ public static final char OEM_SM_TYPE_SUB_CIPHERING_PROTECTION_ENTER = 6;
+ public static final char OEM_SM_TYPE_SUB_INTEGRITY_PROTECTION_ENTER = 7;
+ public static final char OEM_SM_TYPE_SUB_IMEI_READ_ENTER = 8;
+ public static final char OEM_SM_TYPE_SUB_BLUETOOTH_TEST_ENTER = 9;
+ public static final char OEM_SM_TYPE_SUB_VIBRATOR_TEST_ENTER = 10;
+ public static final char OEM_SM_TYPE_SUB_MELODY_TEST_ENTER = 11;
+ public static final char OEM_SM_TYPE_SUB_MP3_TEST_ENTER = 12;
+ public static final char OEM_SM_TYPE_SUB_FACTORY_RESET_ENTER = 13;
+ public static final char OEM_SM_TYPE_SUB_FACTORY_PRECONFIG_ENTER = 14;
+ public static final char OEM_SM_TYPE_SUB_TFS4_EXPLORE_ENTER = 15;
+ public static final char OEM_SM_TYPE_SUB_RSC_FILE_VERSION_ENTER = 17;
+ public static final char OEM_SM_TYPE_SUB_USB_DRIVER_ENTER = 18;
+ public static final char OEM_SM_TYPE_SUB_USB_UART_DIAG_CONTROL_ENTER = 19;
+ public static final char OEM_SM_TYPE_SUB_RRC_VERSION_ENTER = 20;
+ public static final char OEM_SM_TYPE_SUB_GPSONE_SS_TEST_ENTER = 21;
+ public static final char OEM_SM_TYPE_SUB_BAND_SEL_ENTER = 22;
+ public static final char OEM_SM_TYPE_SUB_GCF_TESTMODE_ENTER = 23;
+ public static final char OEM_SM_TYPE_SUB_GSM_FACTORY_AUDIO_LB_ENTER = 24;
+ public static final char OEM_SM_TYPE_SUB_FACTORY_VF_TEST_ENTER = 25;
+ public static final char OEM_SM_TYPE_SUB_TOTAL_CALL_TIME_INFO_ENTER = 26;
+ public static final char OEM_SM_TYPE_SUB_SELLOUT_SMS_ENABLE_ENTER = 27;
+ public static final char OEM_SM_TYPE_SUB_SELLOUT_SMS_DISABLE_ENTER = 28;
+ public static final char OEM_SM_TYPE_SUB_SELLOUT_SMS_TEST_MODE_ON = 29;
+ public static final char OEM_SM_TYPE_SUB_SELLOUT_SMS_PRODUCT_MODE_ON = 30;
+ public static final char OEM_SM_TYPE_SUB_GET_SELLOUT_SMS_INFO_ENTER = 31;
+ public static final char OEM_SM_TYPE_SUB_TST_AUTO_ANSWER_ENTER = 32;
+ public static final char OEM_SM_TYPE_SUB_TST_NV_RESET_ENTER = 33;
+ public static final char OEM_SM_TYPE_SUB_TST_FTA_SW_VERSION_ENTER = 4098;
+ public static final char OEM_SM_TYPE_SUB_TST_FTA_HW_VERSION_ENTER = 4099;
+
+ public static byte[] getEnterServiceModeData(int modeType, int subType, int query) {
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ DataOutputStream dos = new DataOutputStream(baos);
+ dos.writeByte(OEM_SERVM_FUNCTAG);
+ dos.writeByte(OEM_SM_ENTER_MODE_MESSAGE);
+ dos.writeShort(7);
+ dos.writeByte(modeType);
+ dos.writeByte(subType);
+ dos.writeByte(query);
+ return baos.toByteArray();
+ } catch (IOException e) {
+ Log.e(TAG, "", e);
+ }
+ return null;
+ }
+
+ public static byte[] getEndServiceModeData(int modeType) {
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ DataOutputStream dos = new DataOutputStream(baos);
+ dos.writeByte(OEM_SERVM_FUNCTAG);
+ dos.writeByte(OEM_SM_END_MODE_MESSAGE);
+ dos.writeShort(5);
+ dos.writeByte(modeType);
+ return baos.toByteArray();
+ } catch (IOException e) {
+ Log.e(TAG, "", e);
+ }
+ return null;
+ }
+
+ public static byte[] getPressKeyData(int keycode, int query) {
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ DataOutputStream dos = new DataOutputStream(baos);
+ dos.writeByte(OEM_SERVM_FUNCTAG);
+ dos.writeByte(OEM_SM_PROCESS_KEY_MESSAGE);
+ dos.writeShort(6);
+ dos.writeByte(keycode);
+ dos.writeByte(query);
+ return baos.toByteArray();
+ } catch (IOException e) {
+ Log.e(TAG, "", e);
+ }
+ return null;
+ }
+
+} \ No newline at end of file