OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.components.dom_distiller.core; | 5 package org.chromium.components.dom_distiller.core; |
6 | 6 |
7 import org.chromium.base.annotations.CalledByNative; | 7 import org.chromium.base.annotations.CalledByNative; |
8 import org.chromium.base.annotations.JNINamespace; | 8 import org.chromium.base.annotations.JNINamespace; |
9 import org.chromium.base.annotations.NativeCall; | 9 import org.chromium.base.annotations.NativeCall; |
10 | 10 |
11 import java.util.HashMap; | 11 import java.util.HashMap; |
12 import java.util.Map; | 12 import java.util.Map; |
13 | 13 |
14 /** | 14 /** |
15 * Wrapper for the dom_distiller::DistilledPagePrefs. | 15 * Wrapper for the dom_distiller::DistilledPagePrefs. |
16 */ | 16 */ |
17 @JNINamespace("dom_distiller::android") | 17 @JNINamespace("dom_distiller::android") |
18 public final class DistilledPagePrefs { | 18 public final class DistilledPagePrefs { |
19 | 19 |
20 private final long mDistilledPagePrefsAndroid; | 20 private final long mDistilledPagePrefsAndroid; |
21 private Map<Observer, DistilledPagePrefsObserverWrapper> mObserverMap; | 21 private Map<Observer, DistilledPagePrefsObserverWrapper> mObserverMap; |
22 | 22 |
23 /** | 23 /** |
24 * Observer interface for observing DistilledPagePrefs changes. | 24 * Observer interface for observing DistilledPagePrefs changes. |
25 */ | 25 */ |
26 public interface Observer { | 26 public interface Observer { |
27 void onChangeFontFamily(FontFamily font); | 27 void onChangeFontFamily(FontFamily font); |
28 void onChangeTheme(Theme theme); | 28 void onChangeTheme(Theme theme); |
| 29 void onChangeFontScaling(float scaling); |
29 } | 30 } |
30 | 31 |
31 /** | 32 /** |
32 * Wrapper for dom_distiller::android::DistilledPagePrefsObserverAndroid. | 33 * Wrapper for dom_distiller::android::DistilledPagePrefsObserverAndroid. |
33 */ | 34 */ |
34 private static class DistilledPagePrefsObserverWrapper { | 35 private static class DistilledPagePrefsObserverWrapper { |
35 private final Observer mDistilledPagePrefsObserver; | 36 private final Observer mDistilledPagePrefsObserver; |
36 private final long mNativeDistilledPagePrefsObserverAndroidPtr; | 37 private final long mNativeDistilledPagePrefsObserverAndroidPtr; |
37 | 38 |
38 public DistilledPagePrefsObserverWrapper(Observer observer) { | 39 public DistilledPagePrefsObserverWrapper(Observer observer) { |
39 mNativeDistilledPagePrefsObserverAndroidPtr = nativeInitObserverAndr
oid(); | 40 mNativeDistilledPagePrefsObserverAndroidPtr = nativeInitObserverAndr
oid(); |
40 mDistilledPagePrefsObserver = observer; | 41 mDistilledPagePrefsObserver = observer; |
41 } | 42 } |
42 | 43 |
43 @CalledByNative("DistilledPagePrefsObserverWrapper") | 44 @CalledByNative("DistilledPagePrefsObserverWrapper") |
44 private void onChangeFontFamily(int fontFamily) { | 45 private void onChangeFontFamily(int fontFamily) { |
45 mDistilledPagePrefsObserver.onChangeFontFamily( | 46 mDistilledPagePrefsObserver.onChangeFontFamily( |
46 FontFamily.getFontFamilyForValue(fontFamily)); | 47 FontFamily.getFontFamilyForValue(fontFamily)); |
47 } | 48 } |
48 | 49 |
49 @CalledByNative("DistilledPagePrefsObserverWrapper") | 50 @CalledByNative("DistilledPagePrefsObserverWrapper") |
50 private void onChangeTheme(int theme) { | 51 private void onChangeTheme(int theme) { |
51 mDistilledPagePrefsObserver.onChangeTheme(Theme.getThemeForValue(the
me)); | 52 mDistilledPagePrefsObserver.onChangeTheme(Theme.getThemeForValue(the
me)); |
52 } | 53 } |
53 | 54 |
| 55 @CalledByNative("DistilledPagePrefsObserverWrapper") |
| 56 private void onChangeFontScaling(float scaling) { |
| 57 mDistilledPagePrefsObserver.onChangeFontScaling(scaling); |
| 58 } |
| 59 |
54 public void destroy() { | 60 public void destroy() { |
55 nativeDestroyObserverAndroid(mNativeDistilledPagePrefsObserverAndroi
dPtr); | 61 nativeDestroyObserverAndroid(mNativeDistilledPagePrefsObserverAndroi
dPtr); |
56 } | 62 } |
57 | 63 |
58 public long getNativePtr() { | 64 public long getNativePtr() { |
59 return mNativeDistilledPagePrefsObserverAndroidPtr; | 65 return mNativeDistilledPagePrefsObserverAndroidPtr; |
60 } | 66 } |
61 | 67 |
62 @NativeCall("DistilledPagePrefsObserverWrapper") | 68 @NativeCall("DistilledPagePrefsObserverWrapper") |
63 private native long nativeInitObserverAndroid(); | 69 private native long nativeInitObserverAndroid(); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 } | 112 } |
107 | 113 |
108 public void setTheme(Theme theme) { | 114 public void setTheme(Theme theme) { |
109 nativeSetTheme(mDistilledPagePrefsAndroid, theme.asNativeEnum()); | 115 nativeSetTheme(mDistilledPagePrefsAndroid, theme.asNativeEnum()); |
110 } | 116 } |
111 | 117 |
112 public Theme getTheme() { | 118 public Theme getTheme() { |
113 return Theme.getThemeForValue(nativeGetTheme(mDistilledPagePrefsAndroid)
); | 119 return Theme.getThemeForValue(nativeGetTheme(mDistilledPagePrefsAndroid)
); |
114 } | 120 } |
115 | 121 |
| 122 public void setFontScaling(float scaling) { |
| 123 nativeSetFontScaling(mDistilledPagePrefsAndroid, scaling); |
| 124 } |
| 125 |
| 126 public float getFontScaling() { |
| 127 return nativeGetFontScaling(mDistilledPagePrefsAndroid); |
| 128 } |
| 129 |
116 private native long nativeInit(long distilledPagePrefPtr); | 130 private native long nativeInit(long distilledPagePrefPtr); |
117 | 131 |
118 private native void nativeSetFontFamily(long nativeDistilledPagePrefsAndroid
, int fontFamily); | 132 private native void nativeSetFontFamily(long nativeDistilledPagePrefsAndroid
, int fontFamily); |
119 | 133 |
120 private native int nativeGetFontFamily(long nativeDistilledPagePrefsAndroid)
; | 134 private native int nativeGetFontFamily(long nativeDistilledPagePrefsAndroid)
; |
121 | 135 |
122 private native void nativeSetTheme(long nativeDistilledPagePrefsAndroid, int
theme); | 136 private native void nativeSetTheme(long nativeDistilledPagePrefsAndroid, int
theme); |
123 | 137 |
124 private native int nativeGetTheme(long nativeDistilledPagePrefsAndroid); | 138 private native int nativeGetTheme(long nativeDistilledPagePrefsAndroid); |
125 | 139 |
| 140 private native void nativeSetFontScaling(long nativeDistilledPagePrefsAndroi
d, float scaling); |
| 141 |
| 142 private native float nativeGetFontScaling(long nativeDistilledPagePrefsAndro
id); |
| 143 |
126 private native void nativeAddObserver(long nativeDistilledPagePrefsAndroid, | 144 private native void nativeAddObserver(long nativeDistilledPagePrefsAndroid, |
127 long nativeObserverPtr); | 145 long nativeObserverPtr); |
128 | 146 |
129 private native void nativeRemoveObserver(long nativeDistilledPagePrefsAndroi
d, | 147 private native void nativeRemoveObserver(long nativeDistilledPagePrefsAndroi
d, |
130 long nativeObserverPtr); | 148 long nativeObserverPtr); |
131 } | 149 } |
OLD | NEW |