aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java')
-rw-r--r--src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java b/src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java
new file mode 100644
index 0000000..431456d
--- /dev/null
+++ b/src/main/java/com/google/android/mobly/snippet/bundled/TelephonySnippet.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2017 Google Inc.
+ *
+ * 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.google.android.mobly.snippet.bundled;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.telephony.TelephonyManager;
+import com.google.android.mobly.snippet.Snippet;
+import com.google.android.mobly.snippet.rpc.Rpc;
+
+/** Snippet class for telephony RPCs. */
+public class TelephonySnippet implements Snippet {
+
+ private final TelephonyManager mTelephonyManager;
+
+ public TelephonySnippet() {
+ Context context = InstrumentationRegistry.getContext();
+ mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ }
+
+ @Rpc(description = "Gets the line 1 phone number.")
+ public String getLine1Number() {
+ return mTelephonyManager.getLine1Number();
+ }
+
+ @Rpc(description = "Returns the unique subscriber ID, for example, the IMSI for a GSM phone.")
+ public String getSubscriberId() {
+ return mTelephonyManager.getSubscriberId();
+ }
+
+ @Rpc(
+ description =
+ "Gets the call state for the default subscription. Call state values are"
+ + "0: IDLE, 1: RINGING, 2: OFFHOOK"
+ )
+ public int getTelephonyCallState() {
+ return mTelephonyManager.getCallState();
+ }
+
+ @Override
+ public void shutdown() {}
+}