diff --git a/Android.bp b/Android.bp
index 0b867ed..3fe7580 100644
--- a/Android.bp
+++ b/Android.bp
@@ -33,7 +33,11 @@
 
     static_libs: [
         "cr",
-        "androidx.legacy_legacy-support-v4",
+        "androidx.core_core",
+        "androidx.annotation_annotation",
+        "androidx.appcompat_appcompat",
+        "androidx.customview_customview",
+        "androidx.fragment_fragment",
         "androidx.gridlayout_gridlayout",
         "androidx.recyclerview_recyclerview",
     ],
diff --git a/res/layout/fragment_history.xml b/res/layout/fragment_history.xml
index 0559c87..a235c51 100644
--- a/res/layout/fragment_history.xml
+++ b/res/layout/fragment_history.xml
@@ -22,18 +22,18 @@
     android:clipChildren="false"
     android:orientation="vertical">
 
-    <Toolbar
+    <androidx.appcompat.widget.Toolbar
         android:id="@+id/history_toolbar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="?android:attr/colorPrimary"
+        android:background="?attr/colorPrimary"
         android:elevation="4dip"
-        android:minHeight="?android:attr/actionBarSize"
+        android:minHeight="?attr/actionBarSize"
         android:navigationContentDescription="@string/desc_navigate_up"
-        android:navigationIcon="?android:attr/homeAsUpIndicator"
-        android:popupTheme="@android:style/ThemeOverlay.Material.Light"
+        app:navigationIcon="?attr/homeAsUpIndicator"
+        android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
         android:theme="@style/Theme.Toolbar"
-        android:title="@string/title_history" />
+        app:title="@string/title_history" />
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/history_recycler_view"
diff --git a/res/layout/history_item.xml b/res/layout/history_item.xml
index cf8b6c0..b903564 100644
--- a/res/layout/history_item.xml
+++ b/res/layout/history_item.xml
@@ -42,7 +42,7 @@
         android:paddingStart="@dimen/result_padding_start"
         android:paddingEnd="@dimen/result_padding_end"
         android:text="@string/title_current_expression"
-        android:textColor="?android:attr/colorAccent"
+        android:textColor="?attr/colorAccent"
         android:textSize="14dp" />
 
     <com.android.calculator2.CalculatorScrollView
diff --git a/res/layout/toolbar.xml b/res/layout/toolbar.xml
index 56f05b6..6c2102b 100644
--- a/res/layout/toolbar.xml
+++ b/res/layout/toolbar.xml
@@ -15,11 +15,11 @@
   limitations under the License.
   -->
 
-<Toolbar
+<androidx.appcompat.widget.Toolbar
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
-    android:layout_height="?android:attr/actionBarSize"
+    android:layout_height="?attr/actionBarSize"
     android:layout_gravity="top">
 
     <TextView
@@ -30,4 +30,4 @@
         android:textAllCaps="true"
         android:textSize="16sp" />
 
-</Toolbar>
\ No newline at end of file
+</androidx.appcompat.widget.Toolbar>
\ No newline at end of file
diff --git a/res/values-w230dp-h275dp/styles.xml b/res/values-w230dp-h275dp/styles.xml
index bbb38be..ae3b971 100644
--- a/res/values-w230dp-h275dp/styles.xml
+++ b/res/values-w230dp-h275dp/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">16dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">18dip</item>
diff --git a/res/values-w230dp-h375dp/styles.xml b/res/values-w230dp-h375dp/styles.xml
index c72fd3f..412c736 100644
--- a/res/values-w230dp-h375dp/styles.xml
+++ b/res/values-w230dp-h375dp/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">17dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">15dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">15dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">18dip</item>
diff --git a/res/values-w230dp-h475dp-port/styles.xml b/res/values-w230dp-h475dp-port/styles.xml
index 05987ad..da149ae 100644
--- a/res/values-w230dp-h475dp-port/styles.xml
+++ b/res/values-w230dp-h475dp-port/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">20dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">17dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">17dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">12dip</item>
         <item name="android:paddingBottom">20dip</item>
         <item name="android:paddingStart">18dip</item>
diff --git a/res/values-w375dp-h220dp/styles.xml b/res/values-w375dp-h220dp/styles.xml
index 16931ff..500d54e 100644
--- a/res/values-w375dp-h220dp/styles.xml
+++ b/res/values-w375dp-h220dp/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">14dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">20dip</item>
diff --git a/res/values-w375dp-h275dp/styles.xml b/res/values-w375dp-h275dp/styles.xml
index efed4dc..eced6fc 100644
--- a/res/values-w375dp-h275dp/styles.xml
+++ b/res/values-w375dp-h275dp/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">17dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">20dip</item>
diff --git a/res/values-w375dp-h375dp/styles.xml b/res/values-w375dp-h375dp/styles.xml
index b1d4ac5..1e4ddbd 100644
--- a/res/values-w375dp-h375dp/styles.xml
+++ b/res/values-w375dp-h375dp/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">17dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">15dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">15dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">20dip</item>
diff --git a/res/values-w375dp-h500dp-port/styles.xml b/res/values-w375dp-h500dp-port/styles.xml
index 5f5057e..198ad2b 100644
--- a/res/values-w375dp-h500dp-port/styles.xml
+++ b/res/values-w375dp-h500dp-port/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">23dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">20dip</item>
     </style>
 
@@ -41,12 +41,12 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">20dip</item>
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">12dip</item>
         <item name="android:paddingBottom">20dip</item>
         <item name="android:paddingStart">20dip</item>
diff --git a/res/values-w375dp-h768dp-port/styles.xml b/res/values-w375dp-h768dp-port/styles.xml
index 2c5ae35..6d8a33f 100644
--- a/res/values-w375dp-h768dp-port/styles.xml
+++ b/res/values-w375dp-h768dp-port/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">27dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">24dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">24dip</item>
     </style>
 
diff --git a/res/values-w520dp-h220dp-land/styles.xml b/res/values-w520dp-h220dp-land/styles.xml
index 536d5e7..d96b447 100644
--- a/res/values-w520dp-h220dp-land/styles.xml
+++ b/res/values-w520dp-h220dp-land/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">14dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
diff --git a/res/values-w520dp-h275dp-land/styles.xml b/res/values-w520dp-h275dp-land/styles.xml
index 003949e..3d8a630 100644
--- a/res/values-w520dp-h275dp-land/styles.xml
+++ b/res/values-w520dp-h275dp-land/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">17dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">14dip</item>
     </style>
 
diff --git a/res/values-w520dp-h375dp-land/styles.xml b/res/values-w520dp-h375dp-land/styles.xml
index 8c7d0ed..35b6a5d 100644
--- a/res/values-w520dp-h375dp-land/styles.xml
+++ b/res/values-w520dp-h375dp-land/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">20dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">17dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">17dip</item>
     </style>
 
diff --git a/res/values-w520dp-h500dp-land/styles.xml b/res/values-w520dp-h500dp-land/styles.xml
index e0cc0e2..3cecdb7 100644
--- a/res/values-w520dp-h500dp-land/styles.xml
+++ b/res/values-w520dp-h500dp-land/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">23dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">20dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">20dip</item>
     </style>
 
diff --git a/res/values-w520dp-h768dp-land/styles.xml b/res/values-w520dp-h768dp-land/styles.xml
index 61acbd2..d73acc5 100644
--- a/res/values-w520dp-h768dp-land/styles.xml
+++ b/res/values-w520dp-h768dp-land/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">30dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>s
+        <item name="textAllCaps">true</item>s
         <item name="android:textSize">26dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">26dip</item>
     </style>
 
diff --git a/res/values-w520dp-h768dp-port/styles.xml b/res/values-w520dp-h768dp-port/styles.xml
index 9136b50..3a87da0 100644
--- a/res/values-w520dp-h768dp-port/styles.xml
+++ b/res/values-w520dp-h768dp-port/styles.xml
@@ -18,13 +18,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">32dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">28dip</item>
     </style>
 
@@ -41,7 +41,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">28dip</item>
     </style>
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index d8df617..b544fe0 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -19,7 +19,7 @@
 
     <style name="DisplayTextStyle" parent="@android:style/Widget.Material.Light.TextView">
         <item name="android:cursorVisible">false</item>
-        <item name="android:fontFamily">sans-serif</item>
+        <item name="fontFamily">sans-serif</item>
         <item name="android:includeFontPadding">false</item>
         <item name="android:gravity">bottom|end</item>
         <item name="android:textAlignment">viewEnd</item>
@@ -61,14 +61,14 @@
     <style name="PadButtonStyle" parent="@android:style/Widget.Material.Light.Button.Borderless">
         <item name="android:layout_width">0dip</item>
         <item name="android:layout_height">0dip</item>
-        <item name="android:background">@drawable/pad_button_background</item>
-        <item name="android:fontFamily">sans-serif</item>
+        <item name="background">@drawable/pad_button_background</item>
+        <item name="fontFamily">sans-serif</item>
         <item name="android:gravity">center</item>
         <item name="android:includeFontPadding">false</item>
         <item name="android:minWidth">0dip</item>
         <item name="android:minHeight">0dip</item>
         <item name="android:onClick">onButtonClick</item>
-        <item name="android:textAllCaps">false</item>
+        <item name="textAllCaps">false</item>
         <item name="android:textColor">@color/pad_button_text_color</item>
         <item name="android:fontFeatureSettings">tnum, cv03, cv04</item>
 
@@ -79,13 +79,13 @@
     </style>
 
     <style name="PadButtonStyle.Advanced">
-        <item name="android:background">@drawable/pad_button_advanced_background</item>
+        <item name="background">@drawable/pad_button_advanced_background</item>
         <item name="android:textColor">@color/pad_button_advanced_text_color</item>
         <item name="android:textSize">14dip</item>
     </style>
 
     <style name="PadButtonStyle.Advanced.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
@@ -102,7 +102,7 @@
     </style>
 
     <style name="PadButtonStyle.Operator.Text">
-        <item name="android:textAllCaps">true</item>
+        <item name="textAllCaps">true</item>
         <item name="android:textSize">12dip</item>
     </style>
 
@@ -112,7 +112,7 @@
     </style>
 
     <style name="PadLayoutStyle.Advanced">
-        <item name="android:elevation">4dip</item>
+        <item name="elevation">4dip</item>
         <item name="android:paddingTop">2dip</item>
         <item name="android:paddingBottom">8dip</item>
         <item name="android:paddingStart">18dip</item>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 2104fe3..cc6dc3e 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -18,8 +18,8 @@
 <resources>
 
     <style name="Theme" parent="@android:style/Theme.Material.Light">
-        <item name="android:colorPrimary">@color/calculator_primary_color</item>
-        <item name="android:colorAccent">@color/calculator_accent_color</item>
+        <item name="colorPrimary">@color/calculator_primary_color</item>
+        <item name="colorAccent">@color/calculator_accent_color</item>
         <item name="android:statusBarColor">@color/calculator_statusbar_color</item>
         <item name="android:windowSoftInputMode">stateAlwaysHidden</item>
         <item name="android:navigationBarColor">@color/navigationBar_color</item>
@@ -29,15 +29,15 @@
     </style>
 
     <style name="Theme.Calculator">
-        <item name="android:windowActionBar">false</item>
-        <item name="android:windowActionModeOverlay">true</item>
+        <item name="windowActionBar">false</item>
+        <item name="windowActionModeOverlay">true</item>
         <item name="android:windowContentOverlay">@null</item>
-        <item name="android:windowNoTitle">true</item>
+        <item name="windowNoTitle">true</item>
         <item name="android:layoutDirection">ltr</item>
     </style>
 
     <style name="Theme.Licenses">
-        <item name="android:title">@string/menu_licenses</item>
+        <item name="title">@string/menu_licenses</item>
     </style>
 
 </resources>
diff --git a/src/com/android/calculator2/AlertDialogFragment.java b/src/com/android/calculator2/AlertDialogFragment.java
index 3939a73..e7a3110 100644
--- a/src/com/android/calculator2/AlertDialogFragment.java
+++ b/src/com/android/calculator2/AlertDialogFragment.java
@@ -17,17 +17,19 @@
 package com.android.calculator2;
 
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
 import android.view.LayoutInflater;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Display a message with a dismiss putton, and optionally a second button.
  */
@@ -61,8 +63,9 @@
      * @param positiveButtonLabel label for second button, if any.  If non-null, activity must
      * implement AlertDialogFragment.OnClickListener to respond.
      */
-    public static void showMessageDialog(Activity activity, @StringRes int title,
-            @StringRes int message, @StringRes int positiveButtonLabel, @Nullable String tag) {
+    public static void showMessageDialog(AppCompatActivity activity, @StringRes int title,
+                                         @StringRes int message, @StringRes int positiveButtonLabel,
+                                         @Nullable String tag) {
         showMessageDialog(activity, title != 0 ? activity.getString(title) : null,
                 activity.getString(message),
                 positiveButtonLabel != 0 ? activity.getString(positiveButtonLabel) : null,
@@ -78,10 +81,12 @@
      * @param positiveButtonLabel label for second button, if any.  If non-null, activity must
      * implement AlertDialogFragment.OnClickListener to respond.
      */
-    public static void showMessageDialog(Activity activity, @Nullable CharSequence title,
-            CharSequence message, @Nullable CharSequence positiveButtonLabel, @Nullable String tag)
+    public static void showMessageDialog(AppCompatActivity activity, @Nullable CharSequence title,
+                                         CharSequence message,
+                                         @Nullable CharSequence positiveButtonLabel,
+                                         @Nullable String tag)
     {
-        final FragmentManager manager = activity.getFragmentManager();
+        final FragmentManager manager = activity.getSupportFragmentManager();
         if (manager == null || manager.isDestroyed()) {
             return;
         }
diff --git a/src/com/android/calculator2/AlignedTextView.java b/src/com/android/calculator2/AlignedTextView.java
index 91ad0dd..d27c9ac 100644
--- a/src/com/android/calculator2/AlignedTextView.java
+++ b/src/com/android/calculator2/AlignedTextView.java
@@ -22,10 +22,12 @@
 import android.util.AttributeSet;
 import android.widget.TextView;
 
+import androidx.appcompat.widget.AppCompatTextView;
+
 /**
  * Extended {@link TextView} that supports ascent/baseline alignment.
  */
-public class AlignedTextView extends TextView {
+public class AlignedTextView extends AppCompatTextView {
 
     private static final String LATIN_CAPITAL_LETTER = "H";
 
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 3f00170..260bac4 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -25,17 +25,14 @@
 
 package com.android.calculator2;
 
+import static com.android.calculator2.CalculatorFormula.OnFormulaContextMenuClickListener;
+
 import android.animation.Animator;
 import android.animation.Animator.AnimatorListener;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
-import android.app.ActionBar;
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.ClipData;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -44,10 +41,6 @@
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.annotation.StringRes;
-import androidx.core.content.ContextCompat;
-import androidx.viewpager.widget.ViewPager;
 import android.text.Editable;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
@@ -70,7 +63,17 @@
 import android.view.animation.AccelerateDecelerateInterpolator;
 import android.widget.HorizontalScrollView;
 import android.widget.TextView;
-import android.widget.Toolbar;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.viewpager.widget.ViewPager;
 
 import com.android.calculator2.CalculatorFormula.OnTextSizeChangeListener;
 
@@ -83,9 +86,7 @@
 import java.io.ObjectOutputStream;
 import java.text.DecimalFormatSymbols;
 
-import static com.android.calculator2.CalculatorFormula.OnFormulaContextMenuClickListener;
-
-public class Calculator extends Activity
+public class Calculator extends AppCompatActivity
         implements OnTextSizeChangeListener, OnLongClickListener,
         AlertDialogFragment.OnClickListener, Evaluator.EvaluationListener /* for main result */,
         DragLayout.CloseCallback, DragLayout.DragCallback {
@@ -357,13 +358,13 @@
         super.onCreate(savedInstanceState);
 
         setContentView(R.layout.activity_calculator_main);
-        setActionBar((Toolbar) findViewById(R.id.toolbar));
+        setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
 
         // Hide all default options in the ActionBar.
-        getActionBar().setDisplayOptions(0);
+        getSupportActionBar().setDisplayOptions(0);
 
         // Ensure the toolbar stays visible while the options menu is displayed.
-        getActionBar().addOnMenuVisibilityListener(new ActionBar.OnMenuVisibilityListener() {
+        getSupportActionBar().addOnMenuVisibilityListener(new ActionBar.OnMenuVisibilityListener() {
             @Override
             public void onMenuVisibilityChanged(boolean isVisible) {
                 mDisplayView.setForceToolbarVisible(isVisible);
@@ -727,7 +728,7 @@
     }
 
     private void removeHistoryFragment() {
-        final FragmentManager manager = getFragmentManager();
+        final FragmentManager manager = getSupportFragmentManager();
         if (manager != null && !manager.isDestroyed()) {
             manager.popBackStack(HistoryFragment.TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
         }
@@ -1355,7 +1356,7 @@
     }
 
     private HistoryFragment getHistoryFragment() {
-        final FragmentManager manager = getFragmentManager();
+        final FragmentManager manager = getSupportFragmentManager();
         if (manager == null || manager.isDestroyed()) {
             return null;
         }
@@ -1369,7 +1370,7 @@
             return;
         }
 
-        final FragmentManager manager = getFragmentManager();
+        final FragmentManager manager = getSupportFragmentManager();
         if (manager == null || manager.isDestroyed() || !prepareForHistory()) {
             // If the history fragment can not be shown, close the draglayout.
             mDragLayout.setClosed();
diff --git a/src/com/android/calculator2/CalculatorDisplay.java b/src/com/android/calculator2/CalculatorDisplay.java
index 341564d..9960cb2 100644
--- a/src/com/android/calculator2/CalculatorDisplay.java
+++ b/src/com/android/calculator2/CalculatorDisplay.java
@@ -26,7 +26,8 @@
 import android.view.View;
 import android.view.accessibility.AccessibilityManager;
 import android.widget.LinearLayout;
-import android.widget.Toolbar;
+
+import androidx.appcompat.widget.Toolbar;
 
 public class CalculatorDisplay extends LinearLayout
         implements AccessibilityManager.AccessibilityStateChangeListener {
diff --git a/src/com/android/calculator2/CalculatorExpr.java b/src/com/android/calculator2/CalculatorExpr.java
index e6b5870..bc40a71 100644
--- a/src/com/android/calculator2/CalculatorExpr.java
+++ b/src/com/android/calculator2/CalculatorExpr.java
@@ -30,7 +30,6 @@
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashSet;
 
 /**
  * A mathematical expression represented as a sequence of "tokens".
diff --git a/src/com/android/calculator2/ExpressionDB.java b/src/com/android/calculator2/ExpressionDB.java
index 9a0f8ec..68205b5 100644
--- a/src/com/android/calculator2/ExpressionDB.java
+++ b/src/com/android/calculator2/ExpressionDB.java
@@ -38,7 +38,6 @@
 
 package com.android.calculator2;
 
-import android.app.Activity;
 import android.content.ContentValues;
 import android.content.Context;
 import android.database.AbstractWindowedCursor;
@@ -50,7 +49,6 @@
 import android.os.AsyncTask;
 import android.provider.BaseColumns;
 import android.util.Log;
-import android.view.View;
 
 public class ExpressionDB {
     private final boolean CONTINUE_WITH_BAD_DB = false;
diff --git a/src/com/android/calculator2/HapticButton.java b/src/com/android/calculator2/HapticButton.java
index a1f8c90..e58265a 100644
--- a/src/com/android/calculator2/HapticButton.java
+++ b/src/com/android/calculator2/HapticButton.java
@@ -16,18 +16,18 @@
 
 package com.android.calculator2;
 
-import android.widget.Button;
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.View;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
 import android.view.HapticFeedbackConstants;
+import android.view.MotionEvent;
+import android.view.View;
+
+import androidx.appcompat.widget.AppCompatButton;
 
 /**
  * A basic Button that vibrates on finger down.
  */
-public class HapticButton extends Button {
+public class HapticButton extends AppCompatButton {
     public HapticButton(Context context) {
         super(context);
         initVibration(context);
@@ -43,11 +43,6 @@
         initVibration(context);
     }
 
-    public HapticButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        initVibration(context);
-    }
-
     private void initVibration(Context context) {
         setOnTouchListener(new View.OnTouchListener() {
             @Override
diff --git a/src/com/android/calculator2/HapticImageButton.java b/src/com/android/calculator2/HapticImageButton.java
index b315559..a4623ce 100644
--- a/src/com/android/calculator2/HapticImageButton.java
+++ b/src/com/android/calculator2/HapticImageButton.java
@@ -16,17 +16,18 @@
 
 package com.android.calculator2;
 
-import android.widget.ImageButton;
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.View;
-import android.view.MotionEvent;
 import android.view.HapticFeedbackConstants;
+import android.view.MotionEvent;
+import android.view.View;
+
+import androidx.appcompat.widget.AppCompatImageButton;
 
 /**
  * A basic ImageButton that vibrates on finger down.
  */
-public class HapticImageButton extends ImageButton {
+public class HapticImageButton extends AppCompatImageButton {
     public HapticImageButton(Context context) {
         super(context);
         initVibration(context);
@@ -42,11 +43,6 @@
         initVibration(context);
     }
 
-    public HapticImageButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        initVibration(context);
-    }
-
     private void initVibration(Context context) {
         setOnTouchListener(new View.OnTouchListener() {
             @Override
diff --git a/src/com/android/calculator2/HistoryFragment.java b/src/com/android/calculator2/HistoryFragment.java
index eb2a325..a09bb53 100644
--- a/src/com/android/calculator2/HistoryFragment.java
+++ b/src/com/android/calculator2/HistoryFragment.java
@@ -16,21 +16,22 @@
 
 package com.android.calculator2;
 
+import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_DRAGGING;
+
 import android.animation.Animator;
-import android.app.Fragment;
 import android.os.Bundle;
-import androidx.core.content.ContextCompat;
-import androidx.recyclerview.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Toolbar;
+
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.RecyclerView;
 
 import java.util.ArrayList;
 
-import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_DRAGGING;
-
 public class HistoryFragment extends Fragment implements DragLayout.DragCallback {
 
     public static final String TAG = "HistoryFragment";
diff --git a/src/com/android/calculator2/KeyMaps.java b/src/com/android/calculator2/KeyMaps.java
index 446c9b6..af700ed 100644
--- a/src/com/android/calculator2/KeyMaps.java
+++ b/src/com/android/calculator2/KeyMaps.java
@@ -16,13 +16,14 @@
 
 package com.android.calculator2;
 
-import android.content.res.Resources;
 import android.content.Context;
-import android.app.Activity;
+import android.content.res.Resources;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 
+import androidx.appcompat.app.AppCompatActivity;
+
 import java.text.DecimalFormatSymbols;
 import java.util.HashMap;
 import java.util.Locale;
@@ -435,13 +436,13 @@
     /**
      * Activity to use for looking up buttons.
      */
-    private static Activity mActivity;
+    private static AppCompatActivity mActivity;
 
     /**
      * Set acttivity used for looking up button labels.
      * Call only from UI thread.
      */
-    public static void setActivity(Activity a) {
+    public static void setActivity(AppCompatActivity a) {
         mActivity = a;
     }
 
diff --git a/src/com/android/calculator2/Licenses.java b/src/com/android/calculator2/Licenses.java
index 4af1ea6..0ec17d7 100644
--- a/src/com/android/calculator2/Licenses.java
+++ b/src/com/android/calculator2/Licenses.java
@@ -1,11 +1,12 @@
 package com.android.calculator2;
 
-import android.app.Activity;
 import android.os.Bundle;
 import android.view.MenuItem;
 import android.webkit.WebView;
 
-public class Licenses extends Activity {
+import androidx.appcompat.app.AppCompatActivity;
+
+public class Licenses extends AppCompatActivity {
 
     private static final String LICENSE_URL = "file:///android_asset/licenses.html";
 
