From 1723b6cd9c1eb834de137c8800b12ef6eadeb82a Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 15 Jun 2018 00:24:51 -0700 Subject: [PATCH] Checkbox to inherit from AppCompatCheckBox (#18318) Summary: The checkbox components inherits from `android.widget.CheckBox`. `AppCompatCheckBox` offers better appearance and support for advanced features (eg. tinting) on older APIs. ~~However, the build fails for some reason; If somebody could shed some light on this, I'd appreciate it.~~ Thanks for the comment, I was being blind and somehow ignored the BUCK file. I have created a simple app with a checkbox. Screenshot from android 4.1 (current master): Screenshot after applying the change, also android 4.1: https://github.com/facebook/react-native/pull/18300 (this PR is needed to support tinting on older android api levels) [ANDROID] [ENHANCEMENT] [Checkbox] - Checkbox inherits from AppCompatCheckBox Closes https://github.com/facebook/react-native/pull/18318 Differential Revision: D7268393 Pulled By: hramos fbshipit-source-id: 01cb2819f4d56c4e0f94cdd1fb5e1a90667a398a --- .../src/main/java/com/facebook/react/views/checkbox/BUCK | 1 + .../java/com/facebook/react/views/checkbox/ReactCheckBox.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/BUCK index 16a570698..7bf08765a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/BUCK @@ -5,6 +5,7 @@ rn_android_library( srcs = glob(["*.java"]), provided_deps = [ react_native_dep("third-party/android/support/v4:lib-support-v4"), + react_native_dep("third-party/android/support/v7/appcompat-orig:appcompat"), ], visibility = [ "PUBLIC", diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBox.java b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBox.java index 324a9b2c7..98c0b67aa 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBox.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBox.java @@ -7,10 +7,10 @@ package com.facebook.react.views.checkbox; import android.content.Context; -import android.widget.CheckBox; +import android.support.v7.widget.AppCompatCheckBox; /** CheckBox that has its value controlled by JS. */ -/*package*/ class ReactCheckBox extends CheckBox { +/*package*/ class ReactCheckBox extends AppCompatCheckBox { private boolean mAllowChange;