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

Commit 59de14e2 authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Fix app headers in settings" into mnc-dev

parents 92d6b09e 20f464ed
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@
        android:orientation="vertical"
        android:background="@drawable/default_preference_background">

        <FrameLayout
            android:id="@+id/pinned_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <include layout="@layout/tab_widget" />

        <!-- give an empty content area to make tabhost happy -->
+5 −0
Original line number Diff line number Diff line
@@ -30,6 +30,11 @@
                android:orientation="vertical"
                android:visibility="gone">

            <FrameLayout
                android:id="@+id/pinned_header"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <FrameLayout android:layout_width="match_parent"
                    android:layout_height="0px"
                    android:layout_weight="1">
+19 −9
Original line number Diff line number Diff line
@@ -28,18 +28,27 @@ import android.widget.TextView;

public class AppHeader {

    public static void createAppHeader(final Activity activity, Drawable icon, CharSequence label,
            final Intent settingsIntent) {
        createAppHeader(activity, icon, label, settingsIntent, 0);
    public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
            CharSequence label, final Intent settingsIntent) {
        createAppHeader(fragment, icon, label, settingsIntent, 0);
    }

    public static void createAppHeader(final Activity activity, Drawable icon, CharSequence label,
            final Intent settingsIntent, int tintColorRes) {
        final View content = activity.findViewById(R.id.main_content);
        final ViewGroup contentParent = (ViewGroup) content.getParent();
    public static void createAppHeader(Activity activity, Drawable icon, CharSequence label,
            final Intent settingsIntent, ViewGroup pinnedHeader) {
        final View bar = activity.getLayoutInflater().inflate(R.layout.app_header,
                contentParent, false);
                pinnedHeader, false);
        setupHeaderView(activity, icon, label, settingsIntent, 0, bar);
        pinnedHeader.addView(bar);
    }

    public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
            CharSequence label, Intent settingsIntent, int tintColorRes) {
        View bar = fragment.setPinnedHeaderView(R.layout.app_header);
        setupHeaderView(fragment.getActivity(), icon, label, settingsIntent, tintColorRes, bar);
    }

    private static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
            final Intent settingsIntent, int tintColorRes, View bar) {
        final ImageView appIcon = (ImageView) bar.findViewById(R.id.app_icon);
        appIcon.setImageDrawable(icon);
        if (tintColorRes != 0) {
@@ -61,7 +70,8 @@ public class AppHeader {
                }
            });
        }
        contentParent.addView(bar, 0);

        return bar;
    }

}
+6 −4
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
@@ -120,12 +121,12 @@ import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.Switch;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabHost.TabContentFactory;
import android.widget.TabHost.TabSpec;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.Toast;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.telephony.PhoneConstants;
@@ -464,12 +465,12 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
        mListView.setOnItemClickListener(mListListener);
        mListView.setAdapter(mAdapter);

        showRequestedAppIfNeeded();
        showRequestedAppIfNeeded(view);

        return view;
    }

    private void showRequestedAppIfNeeded() {
    private void showRequestedAppIfNeeded(View rootView) {
        if (mShowAppImmediatePkg == null) {
            return;
        }
@@ -482,7 +483,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
            final UidDetail detail = mUidDetailProvider.getUidDetail(app.key, true);
            // When we are going straight to an app then we are coming from App Info and want
            // a header at the top.
            AppHeader.createAppHeader(getActivity(), detail.icon, detail.label, null);
            FrameLayout pinnedHeader = (FrameLayout) rootView.findViewById(R.id.pinned_header);
            AppHeader.createAppHeader(getActivity(), detail.icon, detail.label, null, pinnedHeader);
            AppDetailsFragment.show(DataUsageSummary.this, app, detail.label, false);
        } catch (NameNotFoundException e) {
            Log.w(TAG, "Could not find " + mShowAppImmediatePkg, e);
+2 −1
Original line number Diff line number Diff line
@@ -37,12 +37,13 @@ import android.util.Log;

import com.android.settings.InstrumentedPreferenceFragment;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.applications.ApplicationsState.AppEntry;

import java.util.ArrayList;

public abstract class AppInfoBase extends InstrumentedPreferenceFragment
public abstract class AppInfoBase extends SettingsPreferenceFragment
        implements ApplicationsState.Callbacks {

    public static final String ARG_PACKAGE_NAME = "package";
Loading