1 // Copyright (c) 2013 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.xwalk.core.internal.extension.api;
7 import android.content.Context;
8 import android.hardware.display.DisplayManager;
9 import android.view.Display;
12 * A wrapper class for DisplayManager implementation on Android JellyBean MR1 (API Level 17).
14 public class DisplayManagerJBMR1 extends XWalkDisplayManager implements DisplayManager.DisplayListener {
15 private DisplayManager mDisplayManager;
17 public DisplayManagerJBMR1(Context context) {
18 mDisplayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
22 public Display getDisplay(int displayId) {
23 return mDisplayManager.getDisplay(displayId);
27 public Display[] getDisplays() {
28 return mDisplayManager.getDisplays();
32 public Display[] getPresentationDisplays() {
33 String category = DisplayManager.DISPLAY_CATEGORY_PRESENTATION;
34 return mDisplayManager.getDisplays(category);
38 public void registerDisplayListener(XWalkDisplayManager.DisplayListener listener) {
39 super.registerDisplayListener(listener);
40 if (mListeners.size() == 1)
41 mDisplayManager.registerDisplayListener(this, null);
45 public void unregisterDisplayListener(XWalkDisplayManager.DisplayListener listener) {
46 super.unregisterDisplayListener(listener);
47 if (mListeners.size() == 0)
48 mDisplayManager.unregisterDisplayListener(this);
52 public void onDisplayAdded(int displayId) {
53 notifyDisplayAdded(displayId);
57 public void onDisplayRemoved(int displayId) {
58 notifyDisplayRemoved(displayId);
62 public void onDisplayChanged(int displayId) {
63 notifyDisplayChanged(displayId);