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

Commit 8efbe6e2 authored by Ivan Chiang's avatar Ivan Chiang Committed by android-build-merger
Browse files

Merge "Add DockUpdaterFeatureProvider and DockUpdater." into pi-dev am: 820a26c6

am: e7f3afba

Change-Id: I0b1e8dd9f23b2077051341a991f309ace42cbb34
parents 98015e7c e7f3afba
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 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.settings.connecteddevice.dock;

import android.content.Context;

/**
 * Update the dock devices. It notifies the upper level whether to add/remove the preference
 * through {@link DevicePreferenceCallback}
 */
public interface DockUpdater {

    /**
     * Register the dock event callback and update the list
     */
    default void registerCallback() {
    }

    /**
     * Unregister the dock event callback
     */
    default void unregisterCallback() {
    }

    /**
     * Force to update the list of dock devices
     */
    default void forceUpdate() {
    }
}
+29 −0
Original line number Diff line number Diff line
package com.android.settings.connecteddevice.dock;

import android.content.Context;

import com.android.settings.connecteddevice.DevicePreferenceCallback;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.overlay.DockUpdaterFeatureProvider;

/**
 * Impl for {@link DockUpdaterFeatureProvider}
 */
public class DockUpdaterFeatureProviderImpl implements DockUpdaterFeatureProvider {

    @Override
    public DockUpdater getConnectedDockUpdater(Context context,
            DevicePreferenceCallback devicePreferenceCallback) {
        final DockUpdater updater = new DockUpdater() {
        };
        return updater;
    }

    @Override
    public DockUpdater getSavedDockUpdater(Context context,
            DevicePreferenceCallback devicePreferenceCallback) {
        final DockUpdater updater = new DockUpdater() {
        };
        return updater;
    }
}
+35 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 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.settings.overlay;

import android.content.Context;

import com.android.settings.connecteddevice.DevicePreferenceCallback;
import com.android.settings.connecteddevice.dock.DockUpdater;

/** Feature provider for the dock updater. */
public interface DockUpdaterFeatureProvider {

    /** Returns the DockUpdater of the connected dock device */
    DockUpdater getConnectedDockUpdater(Context context,
            DevicePreferenceCallback devicePreferenceCallback);

    /** Returns the DockUpdater of the saved dock devices */
    DockUpdater getSavedDockUpdater(Context context,
            DevicePreferenceCallback devicePreferenceCallback);

}
+2 −0
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ public abstract class FeatureFactory {

    public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);

    public abstract DockUpdaterFeatureProvider getDockUpdaterFeatureProvider();

    public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);

    public abstract LocaleFeatureProvider getLocaleFeatureProvider();
+10 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProviderImpl;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
@@ -63,6 +64,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
    private ApplicationFeatureProvider mApplicationFeatureProvider;
    private MetricsFeatureProvider mMetricsFeatureProvider;
    private DashboardFeatureProviderImpl mDashboardFeatureProvider;
    private DockUpdaterFeatureProvider mDockUpdaterFeatureProvider;
    private LocaleFeatureProvider mLocaleFeatureProvider;
    private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
    private SearchFeatureProvider mSearchFeatureProvider;
@@ -105,6 +107,14 @@ public class FeatureFactoryImpl extends FeatureFactory {
        return mDashboardFeatureProvider;
    }

    @Override
    public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
        if (mDockUpdaterFeatureProvider == null) {
            mDockUpdaterFeatureProvider = new DockUpdaterFeatureProviderImpl();
        }
        return mDockUpdaterFeatureProvider;
    }

    @Override
    public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
        if (mApplicationFeatureProvider == null) {
Loading