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

Commit c292eff3 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Remove QSDetail

Also remove related classes, calls, and resources that were used by QSDetail
and are no longer needed.

Test: atest SystemUITests
Test: TileService cts tests
Test: adb shell cmd statusbar expand-settings
Fixes: 198796184

Change-Id: Ib5c54f197d03794aca35d0305e3e62c7daedb23a
parent 5479e1e0
Loading
Loading
Loading
Loading
+0 −103
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 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.
 */

package com.android.systemui.plugins.qs;

import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.view.View;
import android.view.ViewGroup;

import com.android.internal.logging.UiEventLogger;
import com.android.systemui.plugins.annotations.ProvidesInterface;

@ProvidesInterface(version = DetailAdapter.VERSION)
public interface DetailAdapter {
    public static final int VERSION = 1;

    CharSequence getTitle();
    Boolean getToggleState();

    default boolean getToggleEnabled() {
        return true;
    }

    View createDetailView(Context context, View convertView, ViewGroup parent);

    /**
     * @return intent for opening more settings related to this detail panel. If null, the more
     * settings button will not be shown
     */
    Intent getSettingsIntent();

    /**
     * @return resource id of the string to use for opening the settings intent. If
     * {@code Resources.ID_NULL}, then use the default string:
     * {@code com.android.systemui.R.string.quick_settings_more_settings}
     */
    default int getSettingsText() {
        return Resources.ID_NULL;
    }

    /**
     * @return resource id of the string to use for closing the detail panel. If
     * {@code Resources.ID_NULL}, then use the default string:
     * {@code com.android.systemui.R.string.quick_settings_done}
     */
    default int getDoneText() {
        return Resources.ID_NULL;
    }

    void setToggleState(boolean state);
    int getMetricsCategory();

    /**
     * Indicates whether the detail view wants to have its header (back button, title and
     * toggle) shown.
     */
    default boolean hasHeader() {
        return true;
    }

    /**
     * Indicates whether the detail view wants to animate when shown. This has no affect over the
     * closing animation. Detail panels will always animate when closed.
     */
    default boolean shouldAnimate() {
        return true;
    }

    /**
     * @return true if the callback handled the event and wants to keep the detail panel open, false
     * otherwise. Returning false will close the panel.
     */
    default boolean onDoneButtonClicked() {
        return false;
    }

    default UiEventLogger.UiEventEnum openDetailEvent() {
        return INVALID;
    }

    default UiEventLogger.UiEventEnum closeDetailEvent() {
        return INVALID;
    }

    default UiEventLogger.UiEventEnum moreSettingsEvent() {
        return INVALID;
    }

    UiEventLogger.UiEventEnum INVALID = () -> 0;
}
+3 −8
Original line number Diff line number Diff line
@@ -35,14 +35,12 @@ import java.util.function.Supplier;

@ProvidesInterface(version = QSTile.VERSION)
@DependsOn(target = QSIconView.class)
@DependsOn(target = DetailAdapter.class)
@DependsOn(target = Callback.class)
@DependsOn(target = Icon.class)
@DependsOn(target = State.class)
public interface QSTile {
    int VERSION = 2;
    int VERSION = 3;

    DetailAdapter getDetailAdapter();
    String getTileSpec();

    boolean isAvailable();
@@ -117,12 +115,9 @@ public interface QSTile {
    }

    @ProvidesInterface(version = Callback.VERSION)
    public interface Callback {
        public static final int VERSION = 1;
    interface Callback {
        static final int VERSION = 2;
        void onStateChanged(State state);
        void onShowDetail(boolean show);
        void onToggleStateChanged(boolean state);
        void onScanStateChanged(boolean state);
    }

    @ProvidesInterface(version = Icon.VERSION)
+0 −20
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- I really don't want to define this, but the View that uses this asset uses both the
         light and dark accent colors. -->
    <item android:alpha="0.6" android:drawable="@*android:color/accent_device_default_light" />
</selector>
+0 −20
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- I really don't want to define this, but the View that uses this asset uses both the
         light and dark accent colors. -->
    <item android:alpha="0.6" android:drawable="@*android:color/accent_device_default_dark" />
</selector>
+0 −33
Original line number Diff line number Diff line
<!--
Copyright (C) 2014 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.
-->
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <inset>
            <shape>
                <solid android:color="@android:color/transparent"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius" />
            </shape>
        </inset>
    </item>
    <item>
        <inset>
            <shape>
                <solid android:color="?android:attr/colorBackgroundFloating"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius" />
            </shape>
        </inset>
    </item>
</transition>
 No newline at end of file
Loading