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

Commit 8f600a4f authored by Jason Monk's avatar Jason Monk
Browse files

Button that goes from app info details to app info

This info button is shown on the header of all app detail pages.
This button is hidden when coming from app info, to avoid allowing
users to go in circles.

Since app notification details had a settings button where the new
info button goes, the app notification settings will move down to
be a preference (this matches the usage access screen UX).

Also fix a bug in launching app notification settings for managed
profiles.

Bug: 20633669
Change-Id: Idbb4f7c3326b4c6b0a19559b722ee0406eaba6c0
parent 59de14e2
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
<!--
    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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24.0dp"
        android:height="24.0dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FFFFFFFF"
        android:pathData="M11.0,17.0l2.0,0.0l0.0,-6.0l-2.0,0.0l0.0,6.0zm1.0,-15.0C6.48,2.0 2.0,6.48 2.0,12.0s4.48,10.0 10.0,10.0 10.0,-4.48 10.0,-10.0S17.52,2.0 12.0,2.0zm0.0,18.0c-4.41,0.0 -8.0,-3.59 -8.0,-8.0s3.59,-8.0 8.0,-8.0 8.0,3.59 8.0,8.0 -3.59,8.0 -8.0,8.0zM11.0,9.0l2.0,0.0L13.0,7.0l-2.0,0.0l0.0,2.0z"/>
</vector>
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@
        android:minWidth="0dp"
        android:contentDescription="@string/notification_app_settings_button"
        android:scaleType="center"
        android:src="@drawable/ic_settings_32dp"
        android:src="@drawable/ic_info"
        style="?android:attr/borderlessButtonStyle" />

    <View
+3 −0
Original line number Diff line number Diff line
@@ -6657,4 +6657,7 @@
    <!-- Summary for app with no battery usage [CHAR LIMIT=NONE] -->
    <string name="no_battery_summary" translatable="false">No battery use since last full charge</string>

    <!-- Link to an apps notification settings [CHAR LIMIT=50] -->
    <string name="app_notification_preferences">App notification preferences</string>

</resources>
+7 −0
Original line number Diff line number Diff line
@@ -50,4 +50,11 @@
            android:order="4"
            android:persistent="false" />

    <!-- App notification preferences -->
    <Preference
            android:key="app_settings"
            android:title="@string/app_notification_preferences"
            android:order="5"
            android:persistent="false" />

</PreferenceScreen>
+25 −1
Original line number Diff line number Diff line
@@ -16,13 +16,19 @@

package com.android.settings.applications;

import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;

import com.android.settings.AppHeader;

public abstract class AppInfoWithHeader extends AppInfoBase {

    public static final String EXTRA_HIDE_INFO_BUTTON = "hideInfoButton";

    private boolean mCreated;

    @Override
@@ -35,6 +41,24 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
        mCreated = true;
        if (mPackageInfo == null) return;
        AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
                mPackageInfo.applicationInfo.loadLabel(mPm), null, 0);
                mPackageInfo.applicationInfo.loadLabel(mPm), getInfoIntent(this, mPackageName), 0);
    }

    public static Intent getInfoIntent(Fragment fragment, String packageName) {
        Bundle args = fragment.getArguments();
        Intent intent = fragment.getActivity().getIntent();
        boolean showInfo = true;
        if (args != null && args.getBoolean(EXTRA_HIDE_INFO_BUTTON, false)) {
            showInfo = false;
        }
        if (intent != null && intent.getBooleanExtra(EXTRA_HIDE_INFO_BUTTON, false)) {
            showInfo = false;
        }
        Intent infoIntent = null;
        if (showInfo) {
            infoIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
            infoIntent.setData(Uri.fromParts("package", packageName, null));
        }
        return infoIntent;
    }
}
Loading