OSDN Git Service

Set emergency call text visibility.
authorJohn Wang <johnwang@google.com>
Thu, 9 Jun 2011 02:33:56 +0000 (19:33 -0700)
committerJohn Wang <johnwang@google.com>
Thu, 9 Jun 2011 02:51:57 +0000 (19:51 -0700)
Set emergency call text visibility based on
emergencyCallCapable config for sim missing
and networklock screens.

bug:4392059
Change-Id: Ibfe92405ada7b452927940295c090d88ecd79519

core/java/com/android/internal/widget/LockPatternUtils.java
policy/src/com/android/internal/policy/impl/LockScreen.java

index 682ebc4..c3f6329 100644 (file)
@@ -35,6 +35,7 @@ import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
+import android.widget.TextView;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -870,6 +871,18 @@ public class LockPatternUtils {
     }
 
     /**
+     * Sets the visibility of emergency call prompt based on emergency capable
+     * @param emergencyText the emergency call text to be updated
+     */
+    public void updateEmergencyCallText(TextView emergencyText) {
+        if (isEmergencyCallCapable()) {
+            emergencyText.setVisibility(View.VISIBLE);
+        } else {
+            emergencyText.setVisibility(View.GONE);
+        }
+    }
+
+    /**
      * Resumes a call in progress. Typically launched from the EmergencyCall button
      * on various lockscreens.
      *
index 7331bda..6f7a6ee 100644 (file)
@@ -538,7 +538,7 @@ class LockScreen extends LinearLayout implements KeyguardScreen,
 
                 // layout
                 mScreenLocked.setVisibility(View.VISIBLE);
-                mEmergencyCallText.setVisibility(View.VISIBLE);
+                mLockPatternUtils.updateEmergencyCallText(mEmergencyCallText);
                 enableUnlock(); // do not need to show the e-call button; user may unlock
                 break;
 
@@ -552,8 +552,8 @@ class LockScreen extends LinearLayout implements KeyguardScreen,
 
                 // layout
                 mScreenLocked.setVisibility(View.VISIBLE);
-                mEmergencyCallText.setVisibility(View.VISIBLE);
-                mEmergencyCallButton.setVisibility(View.VISIBLE);
+                mLockPatternUtils.updateEmergencyCallText(mEmergencyCallText);
+                mLockPatternUtils.updateEmergencyCallButtonState(mEmergencyCallButton);
                 disableUnlock();
                 break;
 
@@ -579,14 +579,13 @@ class LockScreen extends LinearLayout implements KeyguardScreen,
                 mScreenLocked.setText(R.string.lockscreen_sim_puk_locked_instructions);
 
                 // layout
+                mLockPatternUtils.updateEmergencyCallText(mEmergencyCallText);
+                mLockPatternUtils.updateEmergencyCallButtonState(mEmergencyCallButton);
                 if (mLockPatternUtils.isPukUnlockScreenEnable()) {
                     mScreenLocked.setVisibility(View.INVISIBLE);
-                    mEmergencyCallText.setVisibility(View.GONE);
                     enableUnlock();
                 } else {
                     mScreenLocked.setVisibility(View.VISIBLE);
-                    mEmergencyCallText.setVisibility(View.VISIBLE);
-                    mEmergencyCallButton.setVisibility(View.VISIBLE);
                     disableUnlock();
                 }
                 break;