From 3331545bd3fb769ae3f9246c0bd92fe35c6308ab Mon Sep 17 00:00:00 2001 From: sail Date: Thu, 29 Jun 2017 08:46:43 -0700 Subject: Automated g4 rollback of changelist 160202511. *** Reason for rollback *** Causes crash, see b/63127884 *** Original change description *** All Fragments are now support library Fragments. Switch a bunch of imports to support library Fragments (and Loaders) instead of framework Fragments (and Loaders). This was needed to use FragmentManager.isStateSaved() instead of manually tracking that state. This should reduce errors around committing after state is saved. Also adds METADATA presubmit to prevent new usages of framework Fragments or Loaders. *** Bug: 38241305,63127884 Test: N/A PiperOrigin-RevId: 160530287 Change-Id: Ie2c4d3561ebea2d0f05097ce89bdd9bc8767c8cf --- java/com/android/dialer/app/DialtactsActivity.java | 56 +++++++++++++--------- .../android/dialer/app/SpecialCharSequenceMgr.java | 12 ++--- .../app/calllog/BlockReportSpamListener.java | 2 +- .../dialer/app/calllog/CallLogActivity.java | 14 +++--- .../android/dialer/app/calllog/CallLogAdapter.java | 3 +- .../dialer/app/calllog/CallLogFragment.java | 21 ++++---- .../app/calllog/CallLogListItemViewHolder.java | 3 +- .../dialer/app/calllog/ClearCallLogDialog.java | 4 +- .../ExpirableCacheHeadlessFragment.java | 5 -- .../dialer/app/dialpad/DialpadFragment.java | 4 +- .../dialer/app/dialpad/SmartDialCursorLoader.java | 2 +- .../app/filterednumber/BlockedNumbersAdapter.java | 2 +- .../app/filterednumber/BlockedNumbersFragment.java | 18 +++---- .../BlockedNumbersSettingsActivity.java | 16 +++---- .../dialer/app/filterednumber/NumbersAdapter.java | 9 ++-- .../filterednumber/ViewNumbersToImportAdapter.java | 2 +- .../ViewNumbersToImportFragment.java | 10 ++-- .../dialer/app/list/AllContactsFragment.java | 9 ++-- .../dialer/app/list/DialtactsPagerAdapter.java | 6 +-- .../com/android/dialer/app/list/ListsFragment.java | 2 +- .../dialer/app/list/OldSpeedDialFragment.java | 15 +++--- .../dialer/app/list/RegularSearchFragment.java | 6 ++- .../android/dialer/app/list/SearchFragment.java | 2 +- .../dialer/app/list/SmartDialSearchFragment.java | 9 ++-- .../app/voicemail/VoicemailPlaybackPresenter.java | 9 ++-- 25 files changed, 129 insertions(+), 112 deletions(-) (limited to 'java/com/android/dialer/app') diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java index 48c916707..1c9718e40 100644 --- a/java/com/android/dialer/app/DialtactsActivity.java +++ b/java/com/android/dialer/app/DialtactsActivity.java @@ -16,6 +16,8 @@ package com.android.dialer.app; +import android.app.Fragment; +import android.app.FragmentTransaction; import android.app.KeyguardManager; import android.content.ActivityNotFoundException; import android.content.Context; @@ -38,8 +40,6 @@ import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v4.app.ActivityCompat; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import android.telecom.PhoneAccount; @@ -204,6 +204,11 @@ public class DialtactsActivity extends TransactionSafeActivity private Animation mSlideOut; /** Fragment containing the speed dial list, call history list, and all contacts list. */ private ListsFragment mListsFragment; + /** + * Tracks whether onSaveInstanceState has been called. If true, no fragment transactions can be + * commited. + */ + private boolean mStateSaved; private boolean mIsRestarting; private boolean mInDialpadSearch; @@ -400,12 +405,12 @@ public class DialtactsActivity extends TransactionSafeActivity actionBar.setBackgroundDrawable(null); SearchEditTextLayout searchEditTextLayout = - actionBar.getCustomView().findViewById(R.id.search_view_container); + (SearchEditTextLayout) actionBar.getCustomView().findViewById(R.id.search_view_container); searchEditTextLayout.setPreImeKeyListener(mSearchEditTextLayoutListener); mActionBarController = new ActionBarController(this, searchEditTextLayout); - mSearchView = searchEditTextLayout.findViewById(R.id.search_view); + mSearchView = (EditText) searchEditTextLayout.findViewById(R.id.search_view); mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener); mVoiceSearchButton = searchEditTextLayout.findViewById(R.id.voice_search_button); searchEditTextLayout @@ -428,13 +433,14 @@ public class DialtactsActivity extends TransactionSafeActivity mIsLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; mPreviouslySelectedTabIndex = DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL; - FloatingActionButton floatingActionButton = findViewById(R.id.floating_action_button); + FloatingActionButton floatingActionButton = + (FloatingActionButton) findViewById(R.id.floating_action_button); floatingActionButton.setOnClickListener(this); mFloatingActionButtonController = new FloatingActionButtonController(this, floatingActionButton); ImageButton optionsMenuButton = - searchEditTextLayout.findViewById(R.id.dialtacts_options_menu_button); + (ImageButton) searchEditTextLayout.findViewById(R.id.dialtacts_options_menu_button); optionsMenuButton.setOnClickListener(this); mOverflowMenu = buildOptionsMenu(optionsMenuButton); optionsMenuButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener()); @@ -442,7 +448,7 @@ public class DialtactsActivity extends TransactionSafeActivity // Add the favorites fragment but only if savedInstanceState is null. Otherwise the // fragment manager is responsible for recreating it. if (savedInstanceState == null) { - getSupportFragmentManager() + getFragmentManager() .beginTransaction() .add(R.id.dialtacts_frame, new ListsFragment(), TAG_FAVORITES_FRAGMENT) .commit(); @@ -475,7 +481,7 @@ public class DialtactsActivity extends TransactionSafeActivity mSlideIn.setAnimationListener(mSlideInListener); mSlideOut.setAnimationListener(mSlideOutListener); - mParentLayout = findViewById(R.id.dialtacts_mainlayout); + mParentLayout = (CoordinatorLayout) findViewById(R.id.dialtacts_mainlayout); mParentLayout.setOnDragListener(new LayoutOnDragListener()); ViewUtil.doOnGlobalLayout( floatingActionButton, @@ -515,6 +521,7 @@ public class DialtactsActivity extends TransactionSafeActivity PerformanceReport.startRecording(); } + mStateSaved = false; if (mFirstLaunch) { displayFragment(getIntent()); } else if (!phoneIsInUse() && mInCallDialpadUp) { @@ -644,6 +651,7 @@ public class DialtactsActivity extends TransactionSafeActivity outState.putBoolean(KEY_IS_DIALPAD_SHOWN, mIsDialpadShown); outState.putBoolean(KEY_WAS_CONFIGURATION_CHANGE, isChangingConfigurations()); mActionBarController.saveInstanceState(outState); + mStateSaved = true; } @Override @@ -652,7 +660,7 @@ public class DialtactsActivity extends TransactionSafeActivity if (fragment instanceof DialpadFragment) { mDialpadFragment = (DialpadFragment) fragment; if (!mIsDialpadShown && !mShowDialpadOnResume) { - final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + final FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.hide(mDialpadFragment); transaction.commit(); } @@ -739,7 +747,7 @@ public class DialtactsActivity extends TransactionSafeActivity final Intent intent = new Intent(this, CallLogActivity.class); startActivity(intent); } else if (resId == R.id.menu_clear_frequents) { - ClearFrequentsDialog.show(getSupportFragmentManager()); + ClearFrequentsDialog.show(getFragmentManager()); Logger.get(this).logScreenView(ScreenEvent.Type.CLEAR_FREQUENTS, this); return true; } else if (resId == R.id.menu_call_settings) { @@ -816,14 +824,14 @@ public class DialtactsActivity extends TransactionSafeActivity */ private void showDialpadFragment(boolean animate) { LogUtil.d("DialtactActivity.showDialpadFragment", "animate: %b", animate); - if (mIsDialpadShown || getSupportFragmentManager().isStateSaved()) { + if (mIsDialpadShown || mStateSaved) { return; } mIsDialpadShown = true; mListsFragment.setUserVisibleHint(false); - final FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + final FragmentTransaction ft = getFragmentManager().beginTransaction(); if (mDialpadFragment == null) { mDialpadFragment = new DialpadFragment(); ft.add(R.id.dialtacts_container, mDialpadFragment, TAG_DIALPAD_FRAGMENT); @@ -846,7 +854,7 @@ public class DialtactsActivity extends TransactionSafeActivity Assert.isNotNull(mListsFragment.getView()).animate().alpha(0).withLayer(); - // adjust the title, so the user will know where we're at when the activity start/resumes. + //adjust the title, so the user will know where we're at when the activity start/resumes. setTitle(R.string.launcherDialpadActivityLabel); } @@ -908,17 +916,17 @@ public class DialtactsActivity extends TransactionSafeActivity exitSearchUi(); } } - // reset the title to normal. + //reset the title to normal. setTitle(R.string.launcherActivityLabel); } /** Finishes hiding the dialpad fragment after any animations are completed. */ private void commitDialpadFragmentHide() { - if (!getSupportFragmentManager().isStateSaved() + if (!mStateSaved && mDialpadFragment != null && !mDialpadFragment.isHidden() && !isDestroyed()) { - final FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + final FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.hide(mDialpadFragment); ft.commit(); } @@ -990,7 +998,8 @@ public class DialtactsActivity extends TransactionSafeActivity /** Sets the hint text for the contacts search box */ private void setSearchBoxHint() { SearchEditTextLayout searchEditTextLayout = - getActionBarSafely().getCustomView().findViewById(R.id.search_view_container); + (SearchEditTextLayout) + getActionBarSafely().getCustomView().findViewById(R.id.search_view_container); ((TextView) searchEditTextLayout.findViewById(R.id.search_box_start_search)) .setHint(getSearchBoxHint()); } @@ -1080,6 +1089,7 @@ public class DialtactsActivity extends TransactionSafeActivity setIntent(newIntent); mFirstLaunch = true; + mStateSaved = false; displayFragment(newIntent); invalidateOptionsMenu(); @@ -1102,7 +1112,7 @@ public class DialtactsActivity extends TransactionSafeActivity /** Shows the search fragment */ private void enterSearchUi(boolean smartDialSearch, String query, boolean animate) { - if (getSupportFragmentManager().isStateSaved() || getSupportFragmentManager().isDestroyed()) { + if (mStateSaved || getFragmentManager().isDestroyed()) { // Weird race condition where fragment is doing work after the activity is destroyed // due to talkback being on (b/10209937). Just return since we can't do any // constructive here. @@ -1113,7 +1123,7 @@ public class DialtactsActivity extends TransactionSafeActivity LogUtil.v("DialtactsActivity.enterSearchUi", "smart dial " + smartDialSearch); } - final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + final FragmentTransaction transaction = getFragmentManager().beginTransaction(); if (mInDialpadSearch && mSmartDialSearchFragment != null) { transaction.remove(mSmartDialSearchFragment); } else if (mInRegularSearch && mRegularSearchFragment != null) { @@ -1141,7 +1151,7 @@ public class DialtactsActivity extends TransactionSafeActivity transaction.setTransition(FragmentTransaction.TRANSIT_NONE); } - Fragment fragment = getSupportFragmentManager().findFragmentByTag(tag); + Fragment fragment = getFragmentManager().findFragmentByTag(tag); if (fragment == null) { if (useNewSearch) { fragment = new NewSearchFragment(); @@ -1199,7 +1209,7 @@ public class DialtactsActivity extends TransactionSafeActivity /** Hides the search fragment */ private void exitSearchUi() { // See related bug in enterSearchUI(); - if (getSupportFragmentManager().isStateSaved() || getSupportFragmentManager().isDestroyed()) { + if (getFragmentManager().isDestroyed() || mStateSaved) { return; } @@ -1219,7 +1229,7 @@ public class DialtactsActivity extends TransactionSafeActivity onPageScrolled(mListsFragment.getCurrentTabIndex(), 0 /* offset */, 0 /* pixelOffset */); onPageSelected(mListsFragment.getCurrentTabIndex()); - final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + final FragmentTransaction transaction = getFragmentManager().beginTransaction(); if (mSmartDialSearchFragment != null) { transaction.remove(mSmartDialSearchFragment); } @@ -1248,7 +1258,7 @@ public class DialtactsActivity extends TransactionSafeActivity public void onBackPressed() { PerformanceReport.recordClick(UiAction.Type.PRESS_ANDROID_BACK_BUTTON); - if (getSupportFragmentManager().isStateSaved()) { + if (mStateSaved) { return; } if (mIsDialpadShown) { diff --git a/java/com/android/dialer/app/SpecialCharSequenceMgr.java b/java/com/android/dialer/app/SpecialCharSequenceMgr.java index 0d4182c42..20222d68c 100644 --- a/java/com/android/dialer/app/SpecialCharSequenceMgr.java +++ b/java/com/android/dialer/app/SpecialCharSequenceMgr.java @@ -16,7 +16,9 @@ package com.android.dialer.app; +import android.app.Activity; import android.app.AlertDialog; +import android.app.DialogFragment; import android.app.KeyguardManager; import android.app.ProgressDialog; import android.content.ActivityNotFoundException; @@ -28,8 +30,6 @@ import android.database.Cursor; import android.net.Uri; import android.provider.Settings; import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentActivity; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telephony.PhoneNumberUtils; @@ -96,7 +96,7 @@ public class SpecialCharSequenceMgr { private SpecialCharSequenceMgr() {} public static boolean handleChars(Context context, String input, EditText textField) { - // get rid of the separators so that the string gets parsed correctly + //get rid of the separators so that the string gets parsed correctly String dialString = PhoneNumberUtils.stripSeparators(input); if (handleDeviceIdDisplay(context, dialString) @@ -223,8 +223,7 @@ public class SpecialCharSequenceMgr { DialogFragment dialogFragment = SelectPhoneAccountDialogFragment.newInstance( subscriptionAccountHandles, callback, null); - dialogFragment.show( - ((FragmentActivity) context).getSupportFragmentManager(), TAG_SELECT_ACCT_FRAGMENT); + dialogFragment.show(((Activity) context).getFragmentManager(), TAG_SELECT_ACCT_FRAGMENT); } return true; @@ -279,8 +278,7 @@ public class SpecialCharSequenceMgr { DialogFragment dialogFragment = SelectPhoneAccountDialogFragment.newInstance( subscriptionAccountHandles, listener, null); - dialogFragment.show( - ((FragmentActivity) context).getSupportFragmentManager(), TAG_SELECT_ACCT_FRAGMENT); + dialogFragment.show(((Activity) context).getFragmentManager(), TAG_SELECT_ACCT_FRAGMENT); } return true; } diff --git a/java/com/android/dialer/app/calllog/BlockReportSpamListener.java b/java/com/android/dialer/app/calllog/BlockReportSpamListener.java index 7c324ffb2..28082df2b 100644 --- a/java/com/android/dialer/app/calllog/BlockReportSpamListener.java +++ b/java/com/android/dialer/app/calllog/BlockReportSpamListener.java @@ -16,11 +16,11 @@ package com.android.dialer.app.calllog; +import android.app.FragmentManager; import android.content.ContentValues; import android.content.Context; import android.net.Uri; import android.support.annotation.NonNull; -import android.support.v4.app.FragmentManager; import android.support.v7.widget.RecyclerView; import com.android.dialer.blocking.BlockReportSpamDialogs; import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler; diff --git a/java/com/android/dialer/app/calllog/CallLogActivity.java b/java/com/android/dialer/app/calllog/CallLogActivity.java index 449e45742..35e05bc39 100644 --- a/java/com/android/dialer/app/calllog/CallLogActivity.java +++ b/java/com/android/dialer/app/calllog/CallLogActivity.java @@ -15,14 +15,14 @@ */ package com.android.dialer.app.calllog; +import android.app.Fragment; +import android.app.FragmentManager; import android.content.Intent; import android.os.Bundle; import android.provider.CallLog; import android.provider.CallLog.Calls; import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; +import android.support.v13.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import android.view.Menu; @@ -84,14 +84,14 @@ public class CallLogActivity extends TransactionSafeActivity mTabTitles[0] = getString(R.string.call_log_all_title); mTabTitles[1] = getString(R.string.call_log_missed_title); - mViewPager = findViewById(R.id.call_log_pager); + mViewPager = (ViewPager) findViewById(R.id.call_log_pager); - mViewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager()); + mViewPagerAdapter = new ViewPagerAdapter(getFragmentManager()); mViewPager.setAdapter(mViewPagerAdapter); mViewPager.setOffscreenPageLimit(1); mViewPager.setOnPageChangeListener(this); - mViewPagerTabs = findViewById(R.id.viewpager_header); + mViewPagerTabs = (ViewPagerTabs) findViewById(R.id.viewpager_header); mViewPagerTabs.setViewPager(mViewPager); mViewPager.setCurrentItem(startingTab); @@ -148,7 +148,7 @@ public class CallLogActivity extends TransactionSafeActivity startActivity(intent); return true; } else if (item.getItemId() == R.id.delete_all) { - ClearCallLogDialog.show(getSupportFragmentManager(), this); + ClearCallLogDialog.show(getFragmentManager(), this); return true; } return super.onOptionsItemSelected(item); diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java index d7a27dfca..c4156d5c6 100644 --- a/java/com/android/dialer/app/calllog/CallLogAdapter.java +++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java @@ -35,7 +35,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.support.annotation.WorkerThread; -import android.support.v4.app.FragmentActivity; import android.support.v7.app.AlertDialog; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; @@ -515,7 +514,7 @@ public class CallLogAdapter extends GroupingListAdapter mBlockReportSpamListener = new BlockReportSpamListener( mActivity, - ((FragmentActivity) mActivity).getSupportFragmentManager(), + ((Activity) mActivity).getFragmentManager(), this, mFilteredNumberAsyncQueryHandler); setHasStableIds(true); diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java index 49ed31e3f..aa765d90e 100644 --- a/java/com/android/dialer/app/calllog/CallLogFragment.java +++ b/java/com/android/dialer/app/calllog/CallLogFragment.java @@ -19,6 +19,7 @@ package com.android.dialer.app.calllog; import static android.Manifest.permission.READ_CALL_LOG; import android.app.Activity; +import android.app.Fragment; import android.app.KeyguardManager; import android.content.ContentResolver; import android.content.Context; @@ -33,7 +34,9 @@ import android.provider.CallLog.Calls; import android.provider.ContactsContract; import android.support.annotation.CallSuper; import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; +import android.support.v13.app.FragmentCompat; +import android.support.v13.app.FragmentCompat.OnRequestPermissionsResultCallback; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -77,6 +80,7 @@ public class CallLogFragment extends Fragment CallFetcher, MultiSelectRemoveView, OnEmptyViewActionButtonClickedListener, + OnRequestPermissionsResultCallback, CallLogModalAlertManager.Listener, OnClickListener { private static final String KEY_FILTER_TYPE = "filter_type"; @@ -302,21 +306,21 @@ public class CallLogFragment extends Fragment } protected void setupView(View view) { - mRecyclerView = view.findViewById(R.id.recycler_view); + mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); PerformanceReport.logOnScrollStateChange(mRecyclerView); - mEmptyListView = view.findViewById(R.id.empty_list_view); + mEmptyListView = (EmptyContentView) view.findViewById(R.id.empty_list_view); mEmptyListView.setImage(R.drawable.empty_call_log); mEmptyListView.setActionClickedListener(this); - mModalAlertView = view.findViewById(R.id.modal_message_container); + mModalAlertView = (ViewGroup) view.findViewById(R.id.modal_message_container); mModalAlertManager = new CallLogModalAlertManager(LayoutInflater.from(getContext()), mModalAlertView, this); mMultiSelectUnSelectAllViewContent = view.findViewById(R.id.multi_select_select_all_view_content); - mSelectUnselectAllViewText = view.findViewById(R.id.select_all_view_text); - mSelectUnselectAllIcon = view.findViewById(R.id.select_all_view_icon); + mSelectUnselectAllViewText = (TextView) view.findViewById(R.id.select_all_view_text); + mSelectUnselectAllIcon = (ImageView) view.findViewById(R.id.select_all_view_icon); mMultiSelectUnSelectAllViewContent.setOnClickListener(null); mSelectUnselectAllIcon.setOnClickListener(this); mSelectUnselectAllViewText.setOnClickListener(this); @@ -331,7 +335,8 @@ public class CallLogFragment extends Fragment mContactInfoCache = new ContactInfoCache( - ExpirableCacheHeadlessFragment.attach(this).getRetainedCache(), + ExpirableCacheHeadlessFragment.attach((AppCompatActivity) getActivity()) + .getRetainedCache(), new ContactInfoHelper(getActivity(), currentCountryIso), mOnContactInfoChangedListener); mAdapter = @@ -570,7 +575,7 @@ public class CallLogFragment extends Fragment LogUtil.i( "CallLogFragment.onEmptyViewActionButtonClicked", "Requesting permissions: " + Arrays.toString(deniedPermissions)); - requestPermissions(deniedPermissions, PHONE_PERMISSIONS_REQUEST_CODE); + FragmentCompat.requestPermissions(this, deniedPermissions, PHONE_PERMISSIONS_REQUEST_CODE); } else if (!mIsCallLogActivity) { // Show dialpad if we are not in the call log activity. ((HostInterface) activity).showDialpad(); diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java index 2e61848d2..27aa82577 100644 --- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java +++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java @@ -30,7 +30,6 @@ import android.support.annotation.IntDef; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; -import android.support.v4.app.FragmentActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.telecom.PhoneAccount; @@ -998,7 +997,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder private void maybeShowBlockNumberMigrationDialog(BlockedNumbersMigrator.Listener listener) { if (!FilteredNumberCompat.maybeShowBlockNumberMigrationDialog( - mContext, ((FragmentActivity) mContext).getSupportFragmentManager(), listener)) { + mContext, ((Activity) mContext).getFragmentManager(), listener)) { listener.onComplete(); } } diff --git a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java index c100fa0e0..5c3d4d9fa 100644 --- a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java +++ b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java @@ -19,6 +19,8 @@ package com.android.dialer.app.calllog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; +import android.app.DialogFragment; +import android.app.FragmentManager; import android.app.ProgressDialog; import android.content.ContentResolver; import android.content.Context; @@ -28,8 +30,6 @@ import android.os.AsyncTask; import android.os.Bundle; import android.provider.CallLog.Calls; import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentManager; import com.android.dialer.app.R; import com.android.dialer.common.Assert; import com.android.dialer.phonenumbercache.CachedNumberLookupService; diff --git a/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java b/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java index c41339131..aed51b507 100644 --- a/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java +++ b/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java @@ -41,11 +41,6 @@ public class ExpirableCacheHeadlessFragment extends Fragment { return attach(parentActivity.getSupportFragmentManager()); } - @NonNull - public static ExpirableCacheHeadlessFragment attach(@NonNull Fragment fragment) { - return attach(fragment.getChildFragmentManager()); - } - @NonNull private static ExpirableCacheHeadlessFragment attach(FragmentManager fragmentManager) { ExpirableCacheHeadlessFragment fragment = diff --git a/java/com/android/dialer/app/dialpad/DialpadFragment.java b/java/com/android/dialer/app/dialpad/DialpadFragment.java index 3c49dba57..3cd3ac27c 100644 --- a/java/com/android/dialer/app/dialpad/DialpadFragment.java +++ b/java/com/android/dialer/app/dialpad/DialpadFragment.java @@ -20,6 +20,8 @@ import android.Manifest.permission; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; +import android.app.DialogFragment; +import android.app.Fragment; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; @@ -42,8 +44,6 @@ import android.provider.Contacts.PhonesColumns; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.design.widget.FloatingActionButton; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; diff --git a/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java b/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java index a849f6ab6..a0c8b18d3 100644 --- a/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java +++ b/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java @@ -16,10 +16,10 @@ package com.android.dialer.app.dialpad; +import android.content.AsyncTaskLoader; import android.content.Context; import android.database.Cursor; import android.database.MatrixCursor; -import android.support.v4.content.AsyncTaskLoader; import com.android.contacts.common.list.PhoneNumberListAdapter.PhoneQuery; import com.android.dialer.common.LogUtil; import com.android.dialer.database.Database; diff --git a/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java b/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java index 503b4c4ca..dbd4e868c 100644 --- a/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java +++ b/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java @@ -15,9 +15,9 @@ */ package com.android.dialer.app.filterednumber; +import android.app.FragmentManager; import android.content.Context; import android.database.Cursor; -import android.support.v4.app.FragmentManager; import android.telephony.PhoneNumberUtils; import android.view.View; import com.android.contacts.common.ContactPhotoManager; diff --git a/java/com/android/dialer/app/filterednumber/BlockedNumbersFragment.java b/java/com/android/dialer/app/filterednumber/BlockedNumbersFragment.java index cb56db842..f53a45840 100644 --- a/java/com/android/dialer/app/filterednumber/BlockedNumbersFragment.java +++ b/java/com/android/dialer/app/filterednumber/BlockedNumbersFragment.java @@ -15,15 +15,15 @@ */ package com.android.dialer.app.filterednumber; +import android.app.ListFragment; +import android.app.LoaderManager; import android.content.Context; +import android.content.CursorLoader; +import android.content.Loader; import android.database.Cursor; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v4.app.ActivityCompat; -import android.support.v4.app.ListFragment; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; @@ -71,8 +71,8 @@ public class BlockedNumbersFragment extends ListFragment (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); getListView().addHeaderView(inflater.inflate(R.layout.blocked_number_header, null)); getListView().addFooterView(inflater.inflate(R.layout.blocked_number_footer, null)); - // replace the icon for add number with LetterTileDrawable(), so it will have identical style - ImageView addNumberIcon = getActivity().findViewById(R.id.add_number_icon); + //replace the icon for add number with LetterTileDrawable(), so it will have identical style + ImageView addNumberIcon = (ImageView) getActivity().findViewById(R.id.add_number_icon); LetterTileDrawable drawable = new LetterTileDrawable(getResources()); drawable.setLetter(ADD_BLOCKED_NUMBER_ICON_LETTER); drawable.setColor( @@ -83,11 +83,11 @@ public class BlockedNumbersFragment extends ListFragment if (mAdapter == null) { mAdapter = BlockedNumbersAdapter.newBlockedNumbersAdapter( - getContext(), getActivity().getSupportFragmentManager()); + getContext(), getActivity().getFragmentManager()); } setListAdapter(mAdapter); - blockedNumbersText = getListView().findViewById(R.id.blocked_number_text_view); + blockedNumbersText = (TextView) getListView().findViewById(R.id.blocked_number_text_view); migratePromoView = getListView().findViewById(R.id.migrate_promo); getListView().findViewById(R.id.migrate_promo_allow_button).setOnClickListener(this); mImportSettings = getListView().findViewById(R.id.import_settings); @@ -98,7 +98,7 @@ public class BlockedNumbersFragment extends ListFragment getListView().findViewById(R.id.view_numbers_button).setOnClickListener(this); getListView().findViewById(R.id.add_number_linear_layout).setOnClickListener(this); - footerText = getActivity().findViewById(R.id.blocked_number_footer_textview); + footerText = (TextView) getActivity().findViewById(R.id.blocked_number_footer_textview); mVoicemailEnabledChecker = new VisualVoicemailEnabledChecker(getContext(), this); mVoicemailEnabledChecker.asyncUpdate(); updateActiveVoicemailProvider(); diff --git a/java/com/android/dialer/app/filterednumber/BlockedNumbersSettingsActivity.java b/java/com/android/dialer/app/filterednumber/BlockedNumbersSettingsActivity.java index b944e6364..9310fcb22 100644 --- a/java/com/android/dialer/app/filterednumber/BlockedNumbersSettingsActivity.java +++ b/java/com/android/dialer/app/filterednumber/BlockedNumbersSettingsActivity.java @@ -46,12 +46,12 @@ public class BlockedNumbersSettingsActivity extends AppCompatActivity public void showManagementUi() { BlockedNumbersFragment fragment = (BlockedNumbersFragment) - getSupportFragmentManager().findFragmentByTag(TAG_BLOCKED_MANAGEMENT_FRAGMENT); + getFragmentManager().findFragmentByTag(TAG_BLOCKED_MANAGEMENT_FRAGMENT); if (fragment == null) { fragment = new BlockedNumbersFragment(); } - getSupportFragmentManager() + getFragmentManager() .beginTransaction() .replace(R.id.blocked_numbers_activity_container, fragment, TAG_BLOCKED_MANAGEMENT_FRAGMENT) .commit(); @@ -63,7 +63,7 @@ public class BlockedNumbersSettingsActivity extends AppCompatActivity public void showSearchUi() { BlockedListSearchFragment fragment = (BlockedListSearchFragment) - getSupportFragmentManager().findFragmentByTag(TAG_BLOCKED_SEARCH_FRAGMENT); + getFragmentManager().findFragmentByTag(TAG_BLOCKED_SEARCH_FRAGMENT); if (fragment == null) { fragment = new BlockedListSearchFragment(); fragment.setHasOptionsMenu(false); @@ -71,7 +71,7 @@ public class BlockedNumbersSettingsActivity extends AppCompatActivity fragment.setDirectorySearchEnabled(false); } - getSupportFragmentManager() + getFragmentManager() .beginTransaction() .replace(R.id.blocked_numbers_activity_container, fragment, TAG_BLOCKED_SEARCH_FRAGMENT) .addToBackStack(null) @@ -87,12 +87,12 @@ public class BlockedNumbersSettingsActivity extends AppCompatActivity public void showNumbersToImportPreviewUi() { ViewNumbersToImportFragment fragment = (ViewNumbersToImportFragment) - getSupportFragmentManager().findFragmentByTag(TAG_VIEW_NUMBERS_TO_IMPORT_FRAGMENT); + getFragmentManager().findFragmentByTag(TAG_VIEW_NUMBERS_TO_IMPORT_FRAGMENT); if (fragment == null) { fragment = new ViewNumbersToImportFragment(); } - getSupportFragmentManager() + getFragmentManager() .beginTransaction() .replace( R.id.blocked_numbers_activity_container, fragment, TAG_VIEW_NUMBERS_TO_IMPORT_FRAGMENT) @@ -112,8 +112,8 @@ public class BlockedNumbersSettingsActivity extends AppCompatActivity @Override public void onBackPressed() { // TODO: Achieve back navigation without overriding onBackPressed. - if (getSupportFragmentManager().getBackStackEntryCount() > 0) { - getSupportFragmentManager().popBackStack(); + if (getFragmentManager().getBackStackEntryCount() > 0) { + getFragmentManager().popBackStack(); } else { super.onBackPressed(); } diff --git a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java index 800ea2314..d98395ec7 100644 --- a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java +++ b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java @@ -15,10 +15,10 @@ */ package com.android.dialer.app.filterednumber; +import android.app.FragmentManager; import android.content.Context; import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.support.v4.app.FragmentManager; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; import android.text.TextUtils; @@ -57,9 +57,10 @@ public class NumbersAdapter extends SimpleCursorAdapter { } public void updateView(View view, String number, String countryIso) { - final TextView callerName = view.findViewById(R.id.caller_name); - final TextView callerNumber = view.findViewById(R.id.caller_number); - final QuickContactBadge quickContactBadge = view.findViewById(R.id.quick_contact_photo); + final TextView callerName = (TextView) view.findViewById(R.id.caller_name); + final TextView callerNumber = (TextView) view.findViewById(R.id.caller_number); + final QuickContactBadge quickContactBadge = + (QuickContactBadge) view.findViewById(R.id.quick_contact_photo); quickContactBadge.setOverlay(null); if (CompatUtils.hasPrioritizedMimeType()) { quickContactBadge.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE); diff --git a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java index 45ea29ed3..313efb4d7 100644 --- a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java +++ b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java @@ -15,9 +15,9 @@ */ package com.android.dialer.app.filterednumber; +import android.app.FragmentManager; import android.content.Context; import android.database.Cursor; -import android.support.v4.app.FragmentManager; import android.view.View; import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.app.R; diff --git a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportFragment.java b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportFragment.java index 6eca03b29..d45f61ed7 100644 --- a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportFragment.java +++ b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportFragment.java @@ -15,14 +15,14 @@ */ package com.android.dialer.app.filterednumber; +import android.app.ListFragment; +import android.app.LoaderManager; import android.content.Context; +import android.content.CursorLoader; +import android.content.Loader; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.support.v4.app.ListFragment; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; @@ -49,7 +49,7 @@ public class ViewNumbersToImportFragment extends ListFragment if (mAdapter == null) { mAdapter = ViewNumbersToImportAdapter.newViewNumbersToImportAdapter( - getContext(), getActivity().getSupportFragmentManager()); + getContext(), getActivity().getFragmentManager()); } setListAdapter(mAdapter); } diff --git a/java/com/android/dialer/app/list/AllContactsFragment.java b/java/com/android/dialer/app/list/AllContactsFragment.java index 19c24521a..32a99e795 100644 --- a/java/com/android/dialer/app/list/AllContactsFragment.java +++ b/java/com/android/dialer/app/list/AllContactsFragment.java @@ -22,12 +22,13 @@ import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.Loader; import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.QuickContact; -import android.support.v4.content.Loader; +import android.support.v13.app.FragmentCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -50,7 +51,8 @@ import java.util.Arrays; /** Fragments to show all contacts with phone numbers. */ public class AllContactsFragment extends ContactEntryListFragment - implements OnEmptyViewActionButtonClickedListener { + implements OnEmptyViewActionButtonClickedListener, + FragmentCompat.OnRequestPermissionsResultCallback { private static final int READ_CONTACTS_PERMISSION_REQUEST_CODE = 1; @@ -180,7 +182,8 @@ public class AllContactsFragment extends ContactEntryListFragment { if (output == null) { -- cgit v1.2.3