diff --git a/src/com/android/settings/applications/HibernatedAppsPreferenceController.java b/src/com/android/settings/applications/HibernatedAppsPreferenceController.java
index 898d709..9562fd7 100644
--- a/src/com/android/settings/applications/HibernatedAppsPreferenceController.java
+++ b/src/com/android/settings/applications/HibernatedAppsPreferenceController.java
@@ -182,7 +182,7 @@
 
     private static boolean isHibernationEnabled() {
         return DeviceConfig.getBoolean(
-                NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, false);
+                NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, true);
     }
 
     /**
diff --git a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
index 42f862d..1d34a13 100644
--- a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
@@ -144,7 +144,7 @@
 
     private static boolean isHibernationEnabled() {
         return DeviceConfig.getBoolean(
-                NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, false);
+                NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, true);
     }
 
     private static boolean hibernationTargetsPreSApps() {
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 41760de..2d60778 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -229,7 +229,7 @@
     }
 
     /**
-     * Return a mapping of active subscription ids to diaplay names. Each display name is
+     * Return a mapping of active subscription ids to display names. Each display name is
      * guaranteed to be unique in the following manner:
      * 1) If the original display name is not unique, the last four digits of the phone number
      *    will be appended.
@@ -237,7 +237,7 @@
      *    subscription, the subscription id will be appended to the original display name.
      * More details can be found at go/unique-sub-display-names.
      *
-     * @return map of active subscription ids to diaplay names.
+     * @return map of active subscription ids to display names.
      */
     @VisibleForTesting
     public static Map<Integer, CharSequence> getUniqueSubscriptionDisplayNames(Context context) {
@@ -328,7 +328,7 @@
      *    subscription, the subscription id will be appended to the original display name.
      * More details can be found at go/unique-sub-display-names.
      *
-     * @return map of active subscription ids to diaplay names.
+     * @return map of active subscription ids to display names.
      */
     @VisibleForTesting
     public static CharSequence getUniqueSubscriptionDisplayName(
@@ -346,7 +346,7 @@
      *    subscription, the subscription id will be appended to the original display name.
      * More details can be found at go/unique-sub-display-names.
      *
-     * @return map of active subscription ids to diaplay names.
+     * @return map of active subscription ids to display names.
      */
     public static CharSequence getUniqueSubscriptionDisplayName(
             SubscriptionInfo info, Context context) {
