Merge "Provide debug hook for call blocking / E911." into ub-contactsdialer-a-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3e75b35..6e1a51d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -242,12 +242,6 @@
         <activity android:name="com.android.contacts.common.vcard.ExportVCardActivity"
                   android:theme="@style/BackgroundOnlyTheme"/>
 
-        <activity
-            android:name="com.android.dialer.onboard.OnboardingActivity"
-            android:theme="@style/OnboardingFlowTheme"
-            android:screenOrientation="nosensor"
-            android:exported="false" />
-
         <service
             android:name="com.android.contacts.common.vcard.VCardService"
             android:exported="false"/>
diff --git a/res/drawable-hdpi/ill_onboard_default.png b/res/drawable-hdpi/ill_onboard_default.png
deleted file mode 100644
index d16c1f4..0000000
--- a/res/drawable-hdpi/ill_onboard_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ill_onboard_permissions.png b/res/drawable-hdpi/ill_onboard_permissions.png
deleted file mode 100644
index 90ef14c..0000000
--- a/res/drawable-hdpi/ill_onboard_permissions.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ill_onboard_default.png b/res/drawable-mdpi/ill_onboard_default.png
deleted file mode 100644
index 41de467..0000000
--- a/res/drawable-mdpi/ill_onboard_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ill_onboard_permissions.png b/res/drawable-mdpi/ill_onboard_permissions.png
deleted file mode 100644
index 3ec39db..0000000
--- a/res/drawable-mdpi/ill_onboard_permissions.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ill_onboard_default.png b/res/drawable-xhdpi/ill_onboard_default.png
deleted file mode 100644
index 1cf47df..0000000
--- a/res/drawable-xhdpi/ill_onboard_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ill_onboard_permissions.png b/res/drawable-xhdpi/ill_onboard_permissions.png
deleted file mode 100644
index ab52a58..0000000
--- a/res/drawable-xhdpi/ill_onboard_permissions.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ill_onboard_default.png b/res/drawable-xxhdpi/ill_onboard_default.png
deleted file mode 100644
index f243d44..0000000
--- a/res/drawable-xxhdpi/ill_onboard_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ill_onboard_permissions.png b/res/drawable-xxhdpi/ill_onboard_permissions.png
deleted file mode 100644
index 4725bfd..0000000
--- a/res/drawable-xxhdpi/ill_onboard_permissions.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ill_onboard_default.png b/res/drawable-xxxhdpi/ill_onboard_default.png
deleted file mode 100644
index 53f858d..0000000
--- a/res/drawable-xxxhdpi/ill_onboard_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ill_onboard_permissions.png b/res/drawable-xxxhdpi/ill_onboard_permissions.png
deleted file mode 100644
index f406a95..0000000
--- a/res/drawable-xxxhdpi/ill_onboard_permissions.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/onboarding_activity.xml b/res/layout/onboarding_activity.xml
deleted file mode 100644
index a893ce4..0000000
--- a/res/layout/onboarding_activity.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:id="@+id/onboarding_fragment_container">
-</FrameLayout>
diff --git a/res/layout/onboarding_screen_fragment.xml b/res/layout/onboarding_screen_fragment.xml
deleted file mode 100644
index f60225d..0000000
--- a/res/layout/onboarding_screen_fragment.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingBottom="20dp" >
-
-    <ImageView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:id="@+id/onboarding_screen_background_image"
-        android:scaleType="centerCrop"
-        android:importantForAccessibility="no" />
-
-    <TextView
-        android:id="@+id/onboarding_screen_title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/onboarding_screen_content"
-        android:textAppearance="?android:attr/textAppearanceLarge"
-        android:textColor="@color/onboarding_primary_text_color"
-        android:layout_marginStart="@dimen/onboard_screen_side_padding"
-        android:layout_marginEnd="@dimen/onboard_screen_side_padding" />
-
-    <TextView
-        android:id="@id/onboarding_screen_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/onboard_next_button"
-        android:layout_marginTop="20dp"
-        android:textColor="@color/onboarding_primary_text_color"
-        android:layout_marginStart="@dimen/onboard_screen_side_padding"
-        android:layout_marginEnd="@dimen/onboard_screen_side_padding" />
-
-    <Button
-        android:id="@+id/onboard_skip_button"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignTop="@id/onboard_next_button"
-        android:layout_toStartOf="@id/onboard_next_button"
-        android:text="@string/onboarding_skip_button"
-        android:textColor="@color/onboarding_primary_text_color"
-        style="?android:attr/borderlessButtonStyle" />
-
-    <Button
-        android:id="@id/onboard_next_button"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentEnd="true"
-        android:layout_alignParentBottom="true"
-        android:layout_marginBottom="5dp"
-        android:layout_marginEnd="@dimen/onboard_screen_side_padding"
-        android:text="@string/onboarding_next_button"
-        android:textColor="@color/onboarding_primary_text_color"
-        style="@android:style/Widget.Material.Button" />
-
-</RelativeLayout>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index da68061..76bc093 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -134,12 +134,6 @@
     <color name="blocked_number_header_color">@color/dialer_theme_color</color>
     <color name="blocked_number_disabled_emergency_header_color">#616161</color>
 
-    <!-- Colors for onboarding flow -->
-    <color name="onboarding_primary_text_color">#ffffff</color>
-    <color name="onboarding_default_dialer_screen_background_color">#e06055</color>
-    <color name="onboarding_permissions_screen_background_color">#689f38</color>
-    <color name="onboarding_next_button_color">#ffffff</color>
-
     <!-- Grey 700 -->
     <color name="call_detail_footer_text_color">#616161</color>
     <color name="call_detail_footer_icon_tint">@color/call_detail_footer_text_color</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 8ea7d1c..18f33d5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -167,6 +167,4 @@
     <dimen name="blocked_number_settings_description_text_size">16sp</dimen>
 
     <dimen name="call_type_icon_size">12dp</dimen>
-
-    <dimen name="onboard_screen_side_padding">20dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index dd325bc..b5703c6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -937,22 +937,4 @@
 
     <!-- Shown as a message that notifies the user that the Phone app cannot write to system settings, which is why the system settings app is being launched directly instead. [CHAR LIMIT=NONE]-->
     <string name="toast_cannot_write_system_settings">Phone app does not have permission to write to system settings.</string>
-
-    <!-- Title of the onboarding screen that asks the user to make Phone the default Phone app [CHAR LIMIT=NONE]-->
-    <string name="request_default_dialer_screen_title">A better way of calling is calling</string>
-
-    <!-- Content of the onboarding screen that asks the user to make Phone the default Phone app [CHAR LIMIT=NONE]-->
-    <string name="request_default_dialer_screen_content">Make Phone your default phone app to be able to do things like see who\'s calling you, even when they\'re not in your contacts.</string>
-
-    <!-- Title of the onboarding screen that asks the user to grant us the Contacts and Phone permissions [CHAR LIMIT=NONE]-->
-    <string name="request_permissions_screen_title">Get talking to your friends and family</string>
-
-    <!-- Content of the onboarding screen that asks the user to grant us the Contacts and Phone permissions [CHAR LIMIT=NONE]-->
-    <string name="request_permissions_screen_content">Phone will need to access your phone and contacts to make calls to people in your contacts.</string>
-
-    <!-- The label of the button used to skip a screen in the onboarding flow [CHAR LIMIT=30]-->
-    <string name="onboarding_skip_button">Skip</string>
-
-    <!-- The label of the button used to go to the next screen in the onboarding flow [CHAR LIMIT=30]-->
-    <string name="onboarding_next_button">Next</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 108f299..d3d160d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -115,15 +115,6 @@
         <item name="actionOverflowButtonStyle">@style/DialtactsActionBarOverflowWhite</item>
     </style>
 
-    <style name="OnboardingFlowTheme" parent="DialtactsThemeWithoutActionBarOverlay">
-        <item name="android:windowActionBar">false</item>
-        <item name="windowActionBar">false</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="windowNoTitle">true</item>
-        <item name="android:colorButtonNormal">@color/onboarding_next_button_color</item>
-        <item name="colorButtonNormal">@color/onboarding_next_button_color</item>
-    </style>
-
     <!-- Hide the actionbar title during the activity preview -->
     <style name="DialtactsActivityTheme" parent="DialtactsTheme">
         <!-- Styles that require AppCompat compatibility, remember to update both sets -->
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 2aff61c..2121e98 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -57,7 +57,6 @@
 import com.android.dialer.database.FilteredNumberAsyncQueryHandler;
 import com.android.dialer.filterednumber.FilterNumberDialogFragment;
 import com.android.dialer.filterednumber.FilteredNumbersUtil;
-import com.android.dialer.onboard.OnboardingActivity;
 import com.android.dialer.util.DialerUtils;
 import com.android.dialer.util.IntentUtil.CallIntentBuilder;
 import com.android.dialer.util.PhoneNumberUtil;
@@ -217,11 +216,6 @@
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        if (OnboardingActivity.shouldStartOnboardingActivity(this)) {
-            OnboardingActivity.startOnboardingActivity(this);
-            finish();
-        }
-
         mContext = this;
         mResources = getResources();
         mContactInfoHelper = new ContactInfoHelper(this, GeoUtil.getCurrentCountryIso(this));
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 140437e..9105e6f 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -82,7 +82,6 @@
 import com.android.dialer.list.SearchFragment;
 import com.android.dialer.list.SmartDialSearchFragment;
 import com.android.dialer.list.SpeedDialFragment;
-import com.android.dialer.onboard.OnboardingActivity;
 import com.android.dialer.settings.DialerSettingsActivity;
 import com.android.dialer.util.IntentUtil;
 import com.android.dialer.util.TelecomUtil;
@@ -380,11 +379,6 @@
         Trace.beginSection(TAG + " onCreate");
         super.onCreate(savedInstanceState);
 
-        if (OnboardingActivity.shouldStartOnboardingActivity(this)) {
-            OnboardingActivity.startOnboardingActivity(this);
-            finish();
-        }
-
         mFirstLaunch = true;
 
         final Resources resources = getResources();
diff --git a/src/com/android/dialer/onboard/OnboardingActivity.java b/src/com/android/dialer/onboard/OnboardingActivity.java
deleted file mode 100644
index 9be0fd0..0000000
--- a/src/com/android/dialer/onboard/OnboardingActivity.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.onboard;
-
-import static android.Manifest.permission.CALL_PHONE;
-import static android.Manifest.permission.READ_CONTACTS;
-
-import android.Manifest;
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.content.pm.PackageManager;
-import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.telecom.TelecomManager;
-
-import com.android.contacts.common.util.PermissionsUtil;
-import com.android.dialer.TransactionSafeActivity;
-import com.android.dialer.onboard.OnboardingController.OnboardingScreen;
-import com.android.dialer.onboard.OnboardingController.OnboardingUi;
-import com.android.dialer.util.TelecomUtil;
-import com.android.dialer.R;
-
-/**
- * Activity hosting the onboarding UX flow that appears when you launch Dialer and you don't have
- * the necessary permissions to run the app.
- */
-public class OnboardingActivity extends TransactionSafeActivity implements OnboardingUi,
-        PermissionsChecker, OnboardingFragment.HostInterface {
-    public static final String KEY_ALREADY_REQUESTED_DEFAULT_DIALER =
-            "key_already_requested_default_dialer";
-    public static final String KEY_CALLING_ACTIVITY_INTENT =
-            "key_calling_activity_intent";
-
-    public static final int SCREEN_DEFAULT_DIALER = 0;
-    public static final int SCREEN_PERMISSIONS = 1;
-    public static final int SCREEN_COUNT = 2;
-
-    private OnboardingController mOnboardingController;
-
-    private DefaultDialerOnboardingScreen mDefaultDialerOnboardingScreen;
-    private PermissionsOnboardingScreen mPermissionsOnboardingScreen;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.onboarding_activity);
-        mOnboardingController = new OnboardingController(this);
-        mDefaultDialerOnboardingScreen = new DefaultDialerOnboardingScreen(this);
-        mPermissionsOnboardingScreen = new PermissionsOnboardingScreen(this);
-        mOnboardingController.addScreen(mDefaultDialerOnboardingScreen);
-        mOnboardingController.addScreen(mPermissionsOnboardingScreen);
-
-        mOnboardingController.showNextScreen();
-    }
-
-    @Override
-    public void showScreen(int screenId) {
-        if (!isSafeToCommitTransactions()) {
-            return;
-        }
-        final Fragment fragment;
-        switch (screenId) {
-            case SCREEN_DEFAULT_DIALER:
-                fragment = mDefaultDialerOnboardingScreen.getFragment();
-                break;
-            case SCREEN_PERMISSIONS:
-                fragment = mPermissionsOnboardingScreen.getFragment();
-                break;
-            default:
-                return;
-        }
-
-        final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
-        ft.replace(R.id.onboarding_fragment_container, fragment);
-        ft.commit();
-    }
-
-    @Override
-    public void completeOnboardingFlow() {
-        final Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit();
-        editor.putBoolean(KEY_ALREADY_REQUESTED_DEFAULT_DIALER, true).apply();
-
-        // Once we have completed the onboarding flow, relaunch the activity that called us, so
-        // that we return the user to the intended activity.
-        if (getIntent() != null && getIntent().getExtras() != null) {
-            final Intent previousActivityIntent =
-                    getIntent().getExtras().getParcelable(KEY_CALLING_ACTIVITY_INTENT);
-            if (previousActivityIntent != null) {
-                startActivity(previousActivityIntent);
-            }
-        }
-        finish();
-    }
-
-    @Override
-    public boolean hasPhonePermissions() {
-        return PermissionsUtil.hasPhonePermissions(this);
-    }
-
-    @Override
-    public boolean hasContactsPermissions() {
-        return PermissionsUtil.hasContactsPermissions(this);
-    }
-
-    @Override
-    public boolean isDefaultOrSystemDialer() {
-        return TelecomUtil.hasModifyPhoneStatePermission(this);
-    }
-
-    @Override
-    public boolean hasAlreadyRequestedDefaultDialer() {
-        return getAlreadyRequestedDefaultDialerFromPreferences(this);
-    }
-
-    private static boolean getAlreadyRequestedDefaultDialerFromPreferences(Context context) {
-        final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
-        return preferences.getBoolean(KEY_ALREADY_REQUESTED_DEFAULT_DIALER, false);
-    }
-
-    /**
-     * Checks the current permissions/application state to determine if the
-     * {@link OnboardingActivity} should be displayed. The onboarding flow should be launched if
-     * the current application is NOT the system dialer AND any of these criteria are true.
-     *
-     * 1) The phone application is not currently the default dialer AND we have not
-     * previously displayed a prompt to ask the user to set our app as the default dialer.
-     * 2) The phone application does not have the Phone permission.
-     * 3) The phone application does not have the Contacts permission.
-     *
-     * The exception if the current application is the system dialer applies because:
-     *
-     * 1) The system dialer must always provide immediate access to the dialpad to allow
-     * emergency calls to be made.
-     * 2) In order for the system dialer to require the onboarding flow, the user must have
-     * intentionally removed certain permissions/selected a different dialer. This assumes the
-     * that the user understands the implications of the actions previously taken. For example,
-     * removing the Phone permission from the system dialer displays a dialog that warns the
-     * user that this might break certain core phone functionality. Furthermore, various elements in
-     * the Dialer will prompt the user to grant permissions as needed.
-     *
-     * @param context A valid context object.
-     * @return {@code true} if the onboarding flow should be launched to request for the
-     *         necessary permissions or prompt the user to make us the default dialer, {@code false}
-     *         otherwise.
-     */
-    public static boolean shouldStartOnboardingActivity(Context context) {
-        // Since there is no official TelecomManager API to check for the system dialer,
-        // check to see if we have the system-only MODIFY_PHONE_STATE permission.
-        if (PermissionsUtil.hasPermission(context, Manifest.permission.MODIFY_PHONE_STATE)) {
-            return false;
-        }
-
-        return (!getAlreadyRequestedDefaultDialerFromPreferences(context)
-                && !TelecomUtil.isDefaultDialer(context))
-                        || !PermissionsUtil.hasPhonePermissions(context)
-                        || !PermissionsUtil.hasContactsPermissions(context);
-    }
-
-    public static void startOnboardingActivity(Activity callingActivity) {
-        final Intent intent = new Intent(callingActivity, OnboardingActivity.class);
-        intent.putExtra(KEY_CALLING_ACTIVITY_INTENT, callingActivity.getIntent());
-        callingActivity.startActivity(intent);
-    }
-
-    /**
-     * Triggers the screen-specific logic that should occur when the next button is clicked.
-     */
-    @Override
-    public void onNextClicked(int screenId) {
-        switch (screenId) {
-            case SCREEN_DEFAULT_DIALER:
-                mDefaultDialerOnboardingScreen.onNextClicked(this);
-                break;
-            case SCREEN_PERMISSIONS:
-                mPermissionsOnboardingScreen.onNextClicked(this);
-                break;
-            default:
-                return;
-        }
-    }
-
-    @Override
-    public void onSkipClicked(int screenId) {
-        mOnboardingController.onScreenResult(screenId, false);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == SCREEN_DEFAULT_DIALER
-                && resultCode == RESULT_OK) {
-            mOnboardingController.onScreenResult(SCREEN_DEFAULT_DIALER, true);
-        }
-    }
-
-    @Override
-    public void onRequestPermissionsResult(int requestCode, String[] permissions,
-            int[] grantResults) {
-        boolean allPermissionsGranted = true;
-        if (requestCode == SCREEN_PERMISSIONS) {
-            if (permissions.length == 0 && grantResults.length == 0) {
-                // Cancellation of permissions dialog
-                allPermissionsGranted = false;
-            } else {
-                for (int result : grantResults) {
-                    if (result == PackageManager.PERMISSION_DENIED) {
-                        allPermissionsGranted = false;
-                    }
-                }
-            }
-
-            if (allPermissionsGranted) {
-                mOnboardingController.onScreenResult(SCREEN_PERMISSIONS, true);
-            }
-        }
-    }
-
-    public static class DefaultDialerOnboardingScreen extends OnboardingScreen {
-        private PermissionsChecker mPermissionsChecker;
-
-        public DefaultDialerOnboardingScreen(PermissionsChecker permissionsChecker) {
-            mPermissionsChecker = permissionsChecker;
-        }
-
-        @Override
-        public boolean shouldShowScreen() {
-            return !mPermissionsChecker.hasAlreadyRequestedDefaultDialer()
-                    && !mPermissionsChecker.isDefaultOrSystemDialer();
-        }
-
-        @Override
-        public boolean canSkipScreen() {
-            return true;
-        }
-
-        public Fragment getFragment() {
-            return new OnboardingFragment(
-                    SCREEN_DEFAULT_DIALER,
-                    canSkipScreen(),
-                    R.color.onboarding_default_dialer_screen_background_color,
-                    R.drawable.ill_onboard_default,
-                    R.string.request_default_dialer_screen_title,
-                    R.string.request_default_dialer_screen_content
-            );
-        }
-
-        @Override
-        public void onNextClicked(Activity activity) {
-            final Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
-            intent.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME,
-                    activity.getPackageName());
-            activity.startActivityForResult(intent, SCREEN_DEFAULT_DIALER);
-        }
-    }
-
-    public static class PermissionsOnboardingScreen extends OnboardingScreen {
-        private PermissionsChecker mPermissionsChecker;
-
-        public PermissionsOnboardingScreen(PermissionsChecker permissionsChecker) {
-            mPermissionsChecker = permissionsChecker;
-        }
-
-        @Override
-        public boolean shouldShowScreen() {
-            return !(mPermissionsChecker.hasPhonePermissions()
-                    && mPermissionsChecker.hasContactsPermissions());
-        }
-
-        @Override
-        public boolean canSkipScreen() {
-            return false;
-        }
-
-        public Fragment getFragment() {
-            return new OnboardingFragment(
-                    SCREEN_PERMISSIONS,
-                    canSkipScreen(),
-                    R.color.onboarding_permissions_screen_background_color,
-                    R.drawable.ill_onboard_permissions,
-                    R.string.request_permissions_screen_title,
-                    R.string.request_permissions_screen_content
-            );
-        }
-
-        @Override
-        public void onNextClicked(Activity activity) {
-            activity.requestPermissions(new String[] {CALL_PHONE, READ_CONTACTS},
-                    SCREEN_PERMISSIONS);
-        }
-    }
-}
diff --git a/src/com/android/dialer/onboard/OnboardingController.java b/src/com/android/dialer/onboard/OnboardingController.java
deleted file mode 100644
index f799479..0000000
--- a/src/com/android/dialer/onboard/OnboardingController.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.onboard;
-
-import android.app.Activity;
-
-import java.util.ArrayList;
-
-/**
- * Class that manages the display of various fragments that show the user prompts asking for
- * certain privileged positions.
- */
-public class OnboardingController {
-    public static abstract class OnboardingScreen {
-        public abstract boolean shouldShowScreen();
-        public abstract boolean canSkipScreen();
-        public abstract void onNextClicked(Activity activity);
-    }
-
-    public interface OnboardingUi {
-        public void showScreen(int screenId);
-        /**
-         * Called when all the necessary permissions have been granted and the main activity
-         * can launch.
-         */
-        public void completeOnboardingFlow();
-    }
-
-    private int mCurrentScreen = -1;
-    private OnboardingUi mOnboardingUi;
-    private ArrayList<OnboardingScreen> mScreens = new ArrayList<> ();
-
-    public OnboardingController(OnboardingUi onBoardingUi) {
-        mOnboardingUi = onBoardingUi;
-    }
-
-    public void addScreen(OnboardingScreen screen) {
-        mScreens.add(screen);
-    }
-
-    public void showNextScreen() {
-        mCurrentScreen++;
-
-        if (mCurrentScreen >= mScreens.size()) {
-            // Reached the end of onboarding flow
-            mOnboardingUi.completeOnboardingFlow();
-            return;
-        }
-
-        if (mScreens.get(mCurrentScreen).shouldShowScreen()) {
-            mOnboardingUi.showScreen(mCurrentScreen);
-        } else {
-            showNextScreen();
-        }
-    }
-
-    public void onScreenResult(int screenId, boolean success) {
-        if (screenId >= mScreens.size()) {
-            return;
-        }
-
-        // Show the next screen in the onboarding flow only under the following situations:
-        // 1) Success was indicated, and the
-        // 2) The user tried to skip the screen, and the screen can be skipped
-        if (success && !mScreens.get(mCurrentScreen).shouldShowScreen()) {
-            showNextScreen();
-        } else if (mScreens.get(mCurrentScreen).canSkipScreen()) {
-            showNextScreen();
-        }
-    }
-}
diff --git a/src/com/android/dialer/onboard/OnboardingFragment.java b/src/com/android/dialer/onboard/OnboardingFragment.java
deleted file mode 100644
index 2836a95..0000000
--- a/src/com/android/dialer/onboard/OnboardingFragment.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.onboard;
-
-import android.app.Fragment;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.android.dialer.R;
-
-public class OnboardingFragment extends Fragment implements OnClickListener {
-    public static final String ARG_SCREEN_ID = "arg_screen_id";
-    public static final String ARG_CAN_SKIP_SCREEN = "arg_can_skip_screen";
-    public static final String ARG_BACKGROUND_COLOR_RESOURCE = "arg_background_color_resource";
-    public static final String ARG_BACKGROUND_IMAGE_RESOURCE="arg_background_image_resource";
-    public static final String ARG_TEXT_TITLE_RESOURCE = "arg_text_title_resource";
-    public static final String ARG_TEXT_CONTENT_RESOURCE = "arg_text_content_resource";
-
-    private int mScreenId;
-
-    public interface HostInterface {
-        public void onNextClicked(int screenId);
-        public void onSkipClicked(int screenId);
-    }
-
-    public OnboardingFragment() {}
-
-    public OnboardingFragment(int screenId, boolean canSkipScreen, int backgroundColorResourceId,
-            int backgroundImageResourceId, int textTitleResourceId, int textContentResourceId) {
-        final Bundle args = new Bundle();
-        args.putInt(ARG_SCREEN_ID, screenId);
-        args.putBoolean(ARG_CAN_SKIP_SCREEN, canSkipScreen);
-        args.putInt(ARG_BACKGROUND_COLOR_RESOURCE, backgroundColorResourceId);
-        args.putInt(ARG_BACKGROUND_IMAGE_RESOURCE, backgroundImageResourceId);
-        args.putInt(ARG_TEXT_TITLE_RESOURCE, textTitleResourceId);
-        args.putInt(ARG_TEXT_CONTENT_RESOURCE, textContentResourceId);
-        setArguments(args);
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mScreenId = getArguments().getInt(ARG_SCREEN_ID);
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        final View view = inflater.inflate(R.layout.onboarding_screen_fragment, container, false);
-        final int backgroundColor = getResources().getColor(
-                getArguments().getInt(ARG_BACKGROUND_COLOR_RESOURCE), null);
-        view.setBackgroundColor(backgroundColor);
-        ((ImageView) view.findViewById(R.id.onboarding_screen_background_image)).setImageResource(
-                getArguments().getInt(ARG_BACKGROUND_IMAGE_RESOURCE));
-        ((TextView) view.findViewById(R.id.onboarding_screen_content)).
-                setText(getArguments().getInt(ARG_TEXT_CONTENT_RESOURCE));
-        ((TextView) view.findViewById(R.id.onboarding_screen_title)).
-                setText(getArguments().getInt(ARG_TEXT_TITLE_RESOURCE));
-        ((Button) view.findViewById(R.id.onboard_next_button)).setTextColor(backgroundColor);
-
-        if (!getArguments().getBoolean(ARG_CAN_SKIP_SCREEN)) {
-            view.findViewById(R.id.onboard_skip_button).setVisibility(View.INVISIBLE);
-        }
-
-        view.findViewById(R.id.onboard_skip_button).setOnClickListener(this);
-        view.findViewById(R.id.onboard_next_button).setOnClickListener(this);
-
-        return view;
-    }
-
-    int getScreenId() {
-        return mScreenId;
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v.getId() == R.id.onboard_skip_button) {
-            ((HostInterface) getActivity()).onSkipClicked(getScreenId());
-        } else if (v.getId() == R.id.onboard_next_button) {
-            ((HostInterface) getActivity()).onNextClicked(getScreenId());
-        }
-    }
-}
diff --git a/src/com/android/dialer/onboard/PermissionsChecker.java b/src/com/android/dialer/onboard/PermissionsChecker.java
deleted file mode 100644
index c6b0bbf..0000000
--- a/src/com/android/dialer/onboard/PermissionsChecker.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.onboard;
-
-/**
- * Defines a mockable interface used to verify whether certain permissions/privileged operations
- * are possible.
- */
-public interface PermissionsChecker {
-    public boolean hasPhonePermissions();
-    public boolean hasContactsPermissions();
-    public boolean isDefaultOrSystemDialer();
-    public boolean hasAlreadyRequestedDefaultDialer();
-}
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
index c0884ad..658aaec 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
@@ -246,6 +246,10 @@
         // Handles cases where the same entry is binded again when scrolling in list, or where
         // the MediaPlayer was retained after an orientation change.
         if (mMediaPlayer != null && mIsPrepared && voicemailUri.equals(mVoicemailUri)) {
+            // If the voicemail card was rebinded, we need to set the position to the appropriate
+            // point. Since we retain the media player, we can just set it to the position of the
+            // media player.
+            mPosition = mMediaPlayer.getCurrentPosition();
             onPrepared(mMediaPlayer);
         } else {
             if (!voicemailUri.equals(mVoicemailUri)) {
diff --git a/tests/src/com/android/dialer/onboard/DefaultDialerOnboardScreenTest.java b/tests/src/com/android/dialer/onboard/DefaultDialerOnboardScreenTest.java
deleted file mode 100644
index 5e6544f..0000000
--- a/tests/src/com/android/dialer/onboard/DefaultDialerOnboardScreenTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.onboard;
-
-import static org.mockito.Mockito.when;
-
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.dialer.onboard.OnboardingActivity.DefaultDialerOnboardingScreen;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-public class DefaultDialerOnboardScreenTest extends AndroidTestCase {
-    private DefaultDialerOnboardingScreen mScreen;
-    @Mock private PermissionsChecker mPermissionsChecker;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        MockitoAnnotations.initMocks(this);
-        mScreen = new DefaultDialerOnboardingScreen(mPermissionsChecker);
-    }
-
-    public void testNeverRequestedForDefaultDialer_shouldShowScreen() {
-        when(mPermissionsChecker.hasAlreadyRequestedDefaultDialer()).thenReturn(false);
-        assertTrue(mScreen.shouldShowScreen());
-    }
-
-    public void testAlreadyAskedForDefaultDialer_shouldNotShowScreen() {
-        when(mPermissionsChecker.hasAlreadyRequestedDefaultDialer()).thenReturn(true);
-        assertFalse(mScreen.shouldShowScreen());
-    }
-
-    public void testAlreadySetAsDefaultDialer_shouldNotShowScreen() {
-        when(mPermissionsChecker.hasAlreadyRequestedDefaultDialer()).thenReturn(false);
-        when(mPermissionsChecker.isDefaultOrSystemDialer()).thenReturn(true);
-        assertFalse(mScreen.shouldShowScreen());
-    }
-
-    public void testCanSkipScreen() {
-        assertTrue(mScreen.canSkipScreen());
-    }
-}
diff --git a/tests/src/com/android/dialer/onboard/OnboardingControllerTest.java b/tests/src/com/android/dialer/onboard/OnboardingControllerTest.java
deleted file mode 100644
index d634855..0000000
--- a/tests/src/com/android/dialer/onboard/OnboardingControllerTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.onboard;
-
-import android.app.Activity;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.test.suitebuilder.annotation.Suppress;
-
-@SmallTest
-public class OnboardingControllerTest extends AndroidTestCase {
-    private MockOnboardUi mOnboardUi;
-    private OnboardingController mController;
-
-    public class MockOnboardUi implements OnboardingController.OnboardingUi {
-        public int currentScreen = -1;
-        public boolean completedOnboardingFlow = false;
-
-        @Override
-        public void showScreen(int screenId) {
-            currentScreen = screenId;
-        }
-
-        @Override
-        public void completeOnboardingFlow() {
-            completedOnboardingFlow = true;
-        }
-    }
-
-    public class MockScreen extends OnboardingController.OnboardingScreen {
-        boolean shouldShowScreen;
-        boolean canSkipScreen;
-
-        public MockScreen(boolean shouldShowScreen, boolean canSkipScreen) {
-            this.shouldShowScreen = shouldShowScreen;
-            this.canSkipScreen = canSkipScreen;
-        }
-
-        @Override
-        public boolean shouldShowScreen() {
-            return shouldShowScreen;
-        }
-
-        @Override
-        public boolean canSkipScreen() {
-            return canSkipScreen;
-        }
-
-        @Override
-        public void onNextClicked(Activity activity) {
-        }
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mOnboardUi = new MockOnboardUi();
-        mController = new OnboardingController(mOnboardUi);
-    }
-
-    @Suppress
-    public void testNoScreensToDisplay_OnboardingFlowImmediatelyCompleted() {
-        mController.showNextScreen();
-        assertEquals(-1, mOnboardUi.currentScreen);
-        assertTrue(mOnboardUi.completedOnboardingFlow);
-    }
-
-    @Suppress
-    public void testSkipAllScreens_OnboardingFlowImmediatelyCompleted() {
-        mController.addScreen(new MockScreen(false /* shouldShowScreen */,
-                true /* canSkipScreen */));
-        mController.addScreen(new MockScreen(false /* shouldShowScreen */,
-                true /* canSkipScreen */));
-        mController.addScreen(new MockScreen(false /* shouldShowScreen */,
-                true /* canSkipScreen */));
-        mController.showNextScreen();
-        assertEquals(-1, mOnboardUi.currentScreen);
-        assertTrue(mOnboardUi.completedOnboardingFlow);
-    }
-
-    @Suppress
-    public void testFirstScreenNotNeeded_ShowsSecondScreen() {
-        mController.addScreen(new MockScreen(false /* shouldShowScreen */,
-                false /* canSkipScreen */));
-        mController.addScreen(new MockScreen(true /* shouldShowScreen */,
-                false /* canSkipScreen */));
-        mController.showNextScreen();
-        assertEquals(1, mOnboardUi.currentScreen);
-    }
-
-    @Suppress
-    public void testScreenRequired() {
-        final MockScreen mockScreen =
-                new MockScreen(true /* shouldShowScreen */, false /* canSkipScreen */);
-        mController.addScreen(mockScreen);
-
-        mController.showNextScreen();
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // User tried to skip an unskippable screen
-        mController.onScreenResult(0, false);
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // User said yes, but the underlying requirements have not been fulfilled yet, so don't
-        // show the next screen. Should be very rare in practice.
-        mController.onScreenResult(0, true);
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // Requirement has been fulfiled.
-        mockScreen.shouldShowScreen = false;
-        mController.onScreenResult(0, true);
-        assertTrue(mOnboardUi.completedOnboardingFlow);
-    }
-
-    /**
-     * Verifies the use case where completing the first screen will provide the necessary conditions
-     * to skip the second screen as well.
-     *
-     * For example, setting the default dialer in the first screen will automatically grant
-     * permissions such that the second permissions screen is no longer needed.
-     */
-    @Suppress
-    public void testFirstScreenCompleted_SkipsSecondScreen() {
-        final MockScreen mockScreen1 =
-                new MockScreen(true /* shouldShowScreen */, true /* canSkipScreen */);
-        final MockScreen mockScreen2 =
-                new MockScreen(true /* shouldShowScreen */, false /* canSkipScreen */);
-        mController.addScreen(mockScreen1);
-        mController.addScreen(mockScreen2);
-
-        mController.showNextScreen();
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // Screen 1 succeeded, screen 2 is no longer necessary
-        mockScreen2.shouldShowScreen = false;
-        mController.onScreenResult(0, true);
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertTrue(mOnboardUi.completedOnboardingFlow);
-    }
-
-    /**
-     * Verifies the use case where skipping the first screen will proceed to show the second screen
-     * since the necessary conditions to skip the second screen have not been met.
-     */
-    @Suppress
-    public void testFirstScreenSkipped_ShowsSecondScreen() {
-        final MockScreen mockScreen1 =
-                new MockScreen(true /* shouldShowScreen */, true /* canSkipScreen */);
-        final MockScreen mockScreen2 =
-                new MockScreen(true /* shouldShowScreen */, false /* canSkipScreen */);
-        mController.addScreen(mockScreen1);
-        mController.addScreen(mockScreen2);
-
-        mController.showNextScreen();
-        assertEquals(0, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // Screen 1 skipped
-        mController.onScreenResult(0, false);
-        assertEquals(1, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-
-        // Repeatedly trying to skip screen 2 will not work since it is marked as unskippable.
-        mController.onScreenResult(1, false);
-        assertEquals(1, mOnboardUi.currentScreen);
-        assertFalse(mOnboardUi.completedOnboardingFlow);
-    }
-}
diff --git a/tests/src/com/android/dialer/onboard/PermissionsOnboardScreenTest.java b/tests/src/com/android/dialer/onboard/PermissionsOnboardScreenTest.java
deleted file mode 100644
index 4c5ea33..0000000
--- a/tests/src/com/android/dialer/onboard/PermissionsOnboardScreenTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.onboard;
-
-import static org.mockito.Mockito.when;
-
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.dialer.onboard.OnboardingActivity.PermissionsOnboardingScreen;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-public class PermissionsOnboardScreenTest extends AndroidTestCase {
-    private PermissionsOnboardingScreen mScreen;
-    @Mock private PermissionsChecker mPermissionsChecker;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        MockitoAnnotations.initMocks(this);
-        mScreen = new PermissionsOnboardingScreen(mPermissionsChecker);
-    }
-
-    public void testMissingContactsAndPhonePermissions_shouldShowScreen() {
-        when(mPermissionsChecker.hasContactsPermissions()).thenReturn(false);
-        when(mPermissionsChecker.hasPhonePermissions()).thenReturn(false);
-        assertTrue(mScreen.shouldShowScreen());
-    }
-
-    public void testMissingContactsPermission_shouldShowScreen() {
-        when(mPermissionsChecker.hasContactsPermissions()).thenReturn(false);
-        when(mPermissionsChecker.hasPhonePermissions()).thenReturn(true);
-        assertTrue(mScreen.shouldShowScreen());
-    }
-
-    public void testMissingPhonePermission_shouldShowScreen() {
-        when(mPermissionsChecker.hasContactsPermissions()).thenReturn(true);
-        when(mPermissionsChecker.hasPhonePermissions()).thenReturn(false);
-        assertTrue(mScreen.shouldShowScreen());
-    }
-
-    public void testHasAllPermissions_shouldNotShowScreen() {
-        when(mPermissionsChecker.hasContactsPermissions()).thenReturn(true);
-        when(mPermissionsChecker.hasPhonePermissions()).thenReturn(true);
-        assertFalse(mScreen.shouldShowScreen());
-    }
-
-    public void testCanSkipScreen() {
-        assertFalse(mScreen.canSkipScreen());
-    }
-}