| 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.CalledByNative; | 7 import org.chromium.base.CalledByNative; |
| 8 import org.chromium.base.JNINamespace; | 8 import org.chromium.base.JNINamespace; |
| 9 import org.chromium.base.NativeCall; | 9 import org.chromium.base.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 |