Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Allow to detect Ambient mode to switch Watch face display on Wear devices
Handler handler = new Handler(Looper.getMainLooper());
final DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
displayManager.registerDisplayListener(new DisplayManager.DisplayListener() {
@Override
public void onDisplayAdded(int displayId) {
}
@Override
public void onDisplayRemoved(int displayId) {
}
@Override
public void onDisplayChanged(int displayId) {
try {
if (displayManager.getDisplay(displayId).getState() == Display.STATE_DOZING) {
updateFaceDisplay(true);
Log.d(TAG, "onDisplayChanged: dozing");
} else {
updateFaceDisplay(false);
Log.d(TAG, "onDisplayChanged: not dozing");
}
} catch (NullPointerException exception) {
}
}
}, handler);
@LouisCAD
Copy link

LouisCAD commented Feb 8, 2016

@kentarosu onDestroy() is the perfect place to unregister 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment