15ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller/* 25ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * Copyright (C) 2013 The Android Open Source Project 35ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * 45ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * Licensed under the Apache License, Version 2.0 (the "License"); 55ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * you may not use this file except in compliance with the License. 65ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * You may obtain a copy of the License at 75ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * 85ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * http://www.apache.org/licenses/LICENSE-2.0 95ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * 105ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * Unless required by applicable law or agreed to in writing, software 115ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * distributed under the License is distributed on an "AS IS" BASIS, 125ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * See the License for the specific language governing permissions and 145ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * limitations under the License. 155ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller */ 165ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 17b10e33ff804a831c71be9303146cea892b9aeb5dJorim Jaggipackage com.android.server.policy.keyguard; 185ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 19ab954546dc49e1070ed8513efbddc8954b529c23Jim Millerimport android.content.Context; 205ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Millerimport android.os.Bundle; 215ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Millerimport android.os.IBinder; 225ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Millerimport android.os.RemoteException; 2325190577cc69eaa5930c6fbdc2fcca03afc84982Jim Millerimport android.util.Slog; 245ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 25241ae10b2189f449e57d8d660235ac56d8fb1b80Jorim Jaggiimport com.android.internal.policy.IKeyguardDismissCallback; 26740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggiimport com.android.internal.policy.IKeyguardDrawnCallback; 2725190577cc69eaa5930c6fbdc2fcca03afc84982Jim Millerimport com.android.internal.policy.IKeyguardExitCallback; 285ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Millerimport com.android.internal.policy.IKeyguardService; 29ab954546dc49e1070ed8513efbddc8954b529c23Jim Millerimport com.android.internal.policy.IKeyguardStateCallback; 305ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 3184dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggiimport java.io.PrintWriter; 3284dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggi 335ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller/** 345ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * A wrapper class for KeyguardService. It implements IKeyguardService to ensure the interface 355ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * remains consistent. 365ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller * 375ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller */ 385ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Millerpublic class KeyguardServiceWrapper implements IKeyguardService { 39ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller private KeyguardStateMonitor mKeyguardStateMonitor; 405ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller private IKeyguardService mService; 4125190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller private String TAG = "KeyguardServiceWrapper"; 425ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 43e69c93181f1f313dcedd07f677af1cea953fdf16Jorim Jaggi public KeyguardServiceWrapper(Context context, IKeyguardService service, 44e69c93181f1f313dcedd07f677af1cea953fdf16Jorim Jaggi KeyguardStateMonitor.StateCallback callback) { 455ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService = service; 46e69c93181f1f313dcedd07f677af1cea953fdf16Jorim Jaggi mKeyguardStateMonitor = new KeyguardStateMonitor(context, service, callback); 475ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 485ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 49ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 50ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller public void verifyUnlock(IKeyguardExitCallback callback) { 515ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 52ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller mService.verifyUnlock(callback); 535ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 5425190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 555ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 565ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 575ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 58ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 596626f54e658e3da44fab8a5cd6d9d3d4852e2cd1Jorim Jaggi public void setOccluded(boolean isOccluded, boolean animate) { 605ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 616626f54e658e3da44fab8a5cd6d9d3d4852e2cd1Jorim Jaggi mService.setOccluded(isOccluded, animate); 625ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 6325190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 645ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 655ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 665ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 67ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override 68ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller public void addStateMonitorCallback(IKeyguardStateCallback callback) { 695ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 70ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller mService.addStateMonitorCallback(callback); 715ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 7225190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 735ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 745ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 755ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 76ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 77c80c67e7bc96691b6e3700bac49e819ad52db0aeLucas Dupin public void dismiss(IKeyguardDismissCallback callback, CharSequence message) { 785ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 79c80c67e7bc96691b6e3700bac49e819ad52db0aeLucas Dupin mService.dismiss(callback, message); 805ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 8125190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 825ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 835ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 845ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 85ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 865ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void onDreamingStarted() { 875ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 885ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.onDreamingStarted(); 895ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 9025190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 915ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 925ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 935ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 94ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 955ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void onDreamingStopped() { 965ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 975ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.onDreamingStopped(); 985ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 9925190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1005ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1015ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1025ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 103d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi @Override 104d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi public void onStartedGoingToSleep(int reason) { 1055ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 106d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi mService.onStartedGoingToSleep(reason); 1075ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 10825190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1095ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1105ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1115ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 112d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi @Override 113f1cdf9558d2b7f8fe5b8cf3d309b48809f04403bJorim Jaggi public void onFinishedGoingToSleep(int reason, boolean cameraGestureTriggered) { 114d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi try { 115f1cdf9558d2b7f8fe5b8cf3d309b48809f04403bJorim Jaggi mService.onFinishedGoingToSleep(reason, cameraGestureTriggered); 116d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi } catch (RemoteException e) { 117d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi Slog.w(TAG , "Remote Exception", e); 118d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi } 119d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi } 120d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi 121d175b6cfe0b35dfe251cc9315aacb048bf6e54c5Jorim Jaggi @Override 122740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi public void onStartedWakingUp() { 1235ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 124740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi mService.onStartedWakingUp(); 125740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi } catch (RemoteException e) { 126740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi Slog.w(TAG , "Remote Exception", e); 127740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi } 128740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi } 129740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi 130740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi @Override 131369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos public void onFinishedWakingUp() { 132369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos try { 133369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos mService.onFinishedWakingUp(); 134369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } catch (RemoteException e) { 135369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos Slog.w(TAG , "Remote Exception", e); 136369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } 137369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } 138369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos 139369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos @Override 140740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi public void onScreenTurningOn(IKeyguardDrawnCallback callback) { 141740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi try { 142740452e8756cb7f51ed185c3906a5ca61b8fcdd4Jorim Jaggi mService.onScreenTurningOn(callback); 1435ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 14425190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1455ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1465ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1475ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 1480d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi @Override 1490d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi public void onScreenTurnedOn() { 1500d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi try { 1510d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi mService.onScreenTurnedOn(); 1520d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } catch (RemoteException e) { 153369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos Slog.w(TAG , "Remote Exception", e); 154369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } 155369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } 156369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos 157369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos @Override 158369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos public void onScreenTurningOff() { 159369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos try { 160369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos mService.onScreenTurningOff(); 161369907f02efd7f25d8063f38ecef6cf65c703572Adrian Roos } catch (RemoteException e) { 1620d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi Slog.w(TAG , "Remote Exception", e); 1630d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } 1640d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } 1650d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi 1660d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi @Override 1670d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi public void onScreenTurnedOff() { 1680d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi try { 1690d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi mService.onScreenTurnedOff(); 1700d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } catch (RemoteException e) { 1710d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi Slog.w(TAG , "Remote Exception", e); 1720d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } 1730d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi } 1740d210f6395072db4a4c53d4cb8fac4a59a3965b4Jorim Jaggi 175ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 1765ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void setKeyguardEnabled(boolean enabled) { 1775ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 1785ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.setKeyguardEnabled(enabled); 1795ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 18025190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1815ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1825ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1835ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 184ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 1855ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void onSystemReady() { 1865ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 1875ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.onSystemReady(); 1885ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 18925190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1905ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1915ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 1925ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 193ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 1945ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void doKeyguardTimeout(Bundle options) { 1955ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 1965ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.doKeyguardTimeout(options); 1975ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 19825190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 1995ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 2005ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 2015ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 202ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 2031839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky public void setSwitchingUser(boolean switching) { 2041839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky try { 2051839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky mService.setSwitchingUser(switching); 2061839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky } catch (RemoteException e) { 2071839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky Slog.w(TAG , "Remote Exception", e); 2081839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky } 2091839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky } 2101839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky 2111839645126c8e7e0909e8ed8f0686c2122ba6078Evan Rosky @Override // Binder interface 2125ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller public void setCurrentUser(int userId) { 213ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller mKeyguardStateMonitor.setCurrentUser(userId); 2145ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller try { 2155ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller mService.setCurrentUser(userId); 2165ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } catch (RemoteException e) { 21725190577cc69eaa5930c6fbdc2fcca03afc84982Jim Miller Slog.w(TAG , "Remote Exception", e); 2185ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 2195ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 2205ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 221ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 222e5f910a667088ab63e017d5851f0956c77b823daJim Miller public void onBootCompleted() { 223e5f910a667088ab63e017d5851f0956c77b823daJim Miller try { 224e5f910a667088ab63e017d5851f0956c77b823daJim Miller mService.onBootCompleted(); 225e5f910a667088ab63e017d5851f0956c77b823daJim Miller } catch (RemoteException e) { 226e5f910a667088ab63e017d5851f0956c77b823daJim Miller Slog.w(TAG , "Remote Exception", e); 227e5f910a667088ab63e017d5851f0956c77b823daJim Miller } 228e5f910a667088ab63e017d5851f0956c77b823daJim Miller } 229e5f910a667088ab63e017d5851f0956c77b823daJim Miller 230ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 231e29b2dbc762bfa66093d76f5a65f55328d8753c9Jorim Jaggi public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) { 2320d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi try { 233e29b2dbc762bfa66093d76f5a65f55328d8753c9Jorim Jaggi mService.startKeyguardExitAnimation(startTime, fadeoutDuration); 2340d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi } catch (RemoteException e) { 2350d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi Slog.w(TAG , "Remote Exception", e); 2360d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi } 2370d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi } 2380d674623facfbd3e9c520d2be4ed98977b92a1a2Jorim Jaggi 239b4045d3791566a1965024591def87dff7d120295Andrew Zeng @Override 240b4045d3791566a1965024591def87dff7d120295Andrew Zeng public void onShortPowerPressedGoHome() { 241b4045d3791566a1965024591def87dff7d120295Andrew Zeng try { 242b4045d3791566a1965024591def87dff7d120295Andrew Zeng mService.onShortPowerPressedGoHome(); 243b4045d3791566a1965024591def87dff7d120295Andrew Zeng } catch (RemoteException e) { 244b4045d3791566a1965024591def87dff7d120295Andrew Zeng Slog.w(TAG , "Remote Exception", e); 245b4045d3791566a1965024591def87dff7d120295Andrew Zeng } 246b4045d3791566a1965024591def87dff7d120295Andrew Zeng } 247b4045d3791566a1965024591def87dff7d120295Andrew Zeng 248ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller @Override // Binder interface 249ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller public IBinder asBinder() { 250ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller return mService.asBinder(); 2515ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 2525ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller 253ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller public boolean isShowing() { 254ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller return mKeyguardStateMonitor.isShowing(); 255caf24fc2c4bb9747eb80138bf3ce0be067851749Jim Miller } 256caf24fc2c4bb9747eb80138bf3ce0be067851749Jim Miller 257d88eb2693b6a70af0f5fbc5881ce855e28de33aaAdrian Roos public boolean isTrusted() { 258d88eb2693b6a70af0f5fbc5881ce855e28de33aaAdrian Roos return mKeyguardStateMonitor.isTrusted(); 259d88eb2693b6a70af0f5fbc5881ce855e28de33aaAdrian Roos } 260d88eb2693b6a70af0f5fbc5881ce855e28de33aaAdrian Roos 261d11d1a9486d44b98e28b70c25711ebfc283b746eJorim Jaggi public boolean hasLockscreenWallpaper() { 262d11d1a9486d44b98e28b70c25711ebfc283b746eJorim Jaggi return mKeyguardStateMonitor.hasLockscreenWallpaper(); 263d11d1a9486d44b98e28b70c25711ebfc283b746eJorim Jaggi } 264d11d1a9486d44b98e28b70c25711ebfc283b746eJorim Jaggi 265e4044bb617ea849939058d953e250fcd540c75ccJim Miller public boolean isSecure(int userId) { 266e4044bb617ea849939058d953e250fcd540c75ccJim Miller return mKeyguardStateMonitor.isSecure(userId); 267138f25d75665bd07d34294364c5b6f530b33503fJim Miller } 268138f25d75665bd07d34294364c5b6f530b33503fJim Miller 269ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller public boolean isInputRestricted() { 270ab954546dc49e1070ed8513efbddc8954b529c23Jim Miller return mKeyguardStateMonitor.isInputRestricted(); 2715ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller } 27284dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggi 27384dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggi public void dump(String prefix, PrintWriter pw) { 27484dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggi mKeyguardStateMonitor.dump(prefix, pw); 27584dc08a208eea7a4ddf043cadbb28987cf90ae22Jorim Jaggi } 2765ecd81154fa039961f65bb4e36d18ac555b0d1d6Jim Miller}