Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 434bd65c authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Call Activity#onAttachFragment()

This was accidentally removed during the changes to abstract a Fragment host.
Also ensure Fragment#onInflate(Activity) gets invoked

Bug: 20825263
Change-Id: I981266ae1e8817db5c82ec4609bbcf4a5e676fee
parent d38d3574
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4491,6 +4491,7 @@ package android.app {
  public abstract class FragmentHostCallback extends android.app.FragmentContainer {
    ctor public FragmentHostCallback(android.content.Context, android.os.Handler, int);
    method public void onAttachFragment(android.app.Fragment);
    method public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public android.view.View onFindViewById(int);
    method public abstract E onGetHost();
+1 −0
Original line number Diff line number Diff line
@@ -4581,6 +4581,7 @@ package android.app {
  public abstract class FragmentHostCallback extends android.app.FragmentContainer {
    ctor public FragmentHostCallback(android.content.Context, android.os.Handler, int);
    method public void onAttachFragment(android.app.Fragment);
    method public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public android.view.View onFindViewById(int);
    method public abstract E onGetHost();
+5 −0
Original line number Diff line number Diff line
@@ -6496,6 +6496,11 @@ public class Activity extends ContextThemeWrapper
            return (w == null) ? 0 : w.getAttributes().windowAnimations;
        }

        @Override
        public void onAttachFragment(Fragment fragment) {
            Activity.this.onAttachFragment(fragment);
        }

        @Nullable
        @Override
        public View onFindViewById(int id) {
+6 −0
Original line number Diff line number Diff line
@@ -1314,6 +1314,12 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
                    com.android.internal.R.styleable.Fragment_fragmentAllowReturnTransitionOverlap, true);
        }
        a.recycle();

        final Activity hostActivity = mHost == null ? null : mHost.getActivity();
        if (hostActivity != null) {
            mCalled = false;
            onInflate(hostActivity, attrs, savedInstanceState);
        }
    }

    /**
+8 −9
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.ArrayMap;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;

@@ -140,6 +139,14 @@ public abstract class FragmentHostCallback<E> extends FragmentContainer {
        return mWindowAnimations;
    }

    /**
     * Called when a {@link Fragment} is being attached to this host, immediately
     * after the call to its {@link Fragment#onAttach(Context)} method and before
     * {@link Fragment#onCreate(Bundle)}.
     */
    public void onAttachFragment(Fragment fragment) {
    }

    @Nullable
    @Override
    public View onFindViewById(int id) {
@@ -187,14 +194,6 @@ public abstract class FragmentHostCallback<E> extends FragmentContainer {
        }
    }

    void onFragmentInflate(Fragment fragment, AttributeSet attrs, Bundle savedInstanceState) {
        fragment.onInflate(mContext, attrs, savedInstanceState);
    }

    void onFragmentAttach(Fragment fragment) {
        fragment.onAttach(mContext);
    }

    void doLoaderStart() {
        if (mLoadersStarted) {
            return;
Loading