Dialer: Use android app Fragment|FragmentManager for the ExpirableCacheHeadlessFragment
Fix:
E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: Process: com.android.dialer, PID: 13828
E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.dialer/com.android.dialer.main.impl.MainActivity}: android.support.v4.app.Fragment$InstantiationException:
Unable to instantiate fragment com.android.dialer.app.contactinfo.ExpirableCacheHeadlessFragment: could not find Fragment constructor
Change-Id: Ib777fa3c55922d0ec2f4c083a868967929173bfe
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 771254e..d3ff8a1 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -36,7 +36,6 @@
import android.support.annotation.Nullable;
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;
@@ -333,7 +332,7 @@
contactInfoCache =
new ContactInfoCache(
- ExpirableCacheHeadlessFragment.attach((AppCompatActivity) getActivity())
+ ExpirableCacheHeadlessFragment.attach(this)
.getRetainedCache(),
new ContactInfoHelper(getActivity(), currentCountryIso),
onContactInfoChangedListener);
diff --git a/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java b/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java
index aed51b5..7d07c6b 100644
--- a/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java
+++ b/java/com/android/dialer/app/contactinfo/ExpirableCacheHeadlessFragment.java
@@ -16,11 +16,10 @@
package com.android.dialer.app.contactinfo;
+import android.app.Fragment;
+import android.app.FragmentManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v7.app.AppCompatActivity;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.util.ExpirableCache;
@@ -37,8 +36,8 @@
private ExpirableCache<NumberWithCountryIso, ContactInfo> retainedCache;
@NonNull
- public static ExpirableCacheHeadlessFragment attach(@NonNull AppCompatActivity parentActivity) {
- return attach(parentActivity.getSupportFragmentManager());
+ public static ExpirableCacheHeadlessFragment attach(@NonNull Fragment fragment) {
+ return attach(fragment.getChildFragmentManager());
}
@NonNull