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

Commit 968c6531 authored by Edgar Wang's avatar Edgar Wang Committed by Beverly
Browse files

Add feature provider for aware info.

The feature provider contains API that query aware info.
By default it's false.

Test: make -j RunSettingsRoboTests
Bug: 122574999
Change-Id: I7148258768a4dad1967fd0e0b23b79654e5a3d41
parent d5428a5c
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.aware;

import android.content.Context;

public interface AwareFeatureProvider {
    /** Returns true if the aware sensor is supported. */
    boolean isSupported(Context context);
}
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.aware;

import android.content.Context;

public class AwareFeatureProviderImpl implements AwareFeatureProvider {
    @Override
    public boolean isSupported(Context context) {
        return false;
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.accounts.AccountFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.aware.AwareFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
@@ -114,6 +115,8 @@ public abstract class FeatureFactory {

    public abstract BluetoothFeatureProvider getBluetoothFeatureProvider(Context context);

    public abstract AwareFeatureProvider getAwareFeatureProvider();

    public static final class FactoryNotFoundException extends RuntimeException {
        public FactoryNotFoundException(Throwable throwable) {
            super("Unable to create factory. Did you misconfigure Proguard?", throwable);
+11 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import com.android.settings.accounts.AccountFeatureProvider;
import com.android.settings.accounts.AccountFeatureProviderImpl;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProviderImpl;
import com.android.settings.aware.AwareFeatureProvider;
import com.android.settings.aware.AwareFeatureProviderImpl;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl;
@@ -81,6 +83,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
    private PanelFeatureProvider mPanelFeatureProvider;
    private ContextualCardFeatureProvider mContextualCardFeatureProvider;
    private BluetoothFeatureProvider mBluetoothFeatureProvider;
    private AwareFeatureProvider mAwareFeatureProvider;

    @Override
    public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -244,4 +247,12 @@ public class FeatureFactoryImpl extends FeatureFactory {
        }
        return mBluetoothFeatureProvider;
    }

    @Override
    public AwareFeatureProvider getAwareFeatureProvider() {
        if (mAwareFeatureProvider == null) {
            mAwareFeatureProvider = new AwareFeatureProviderImpl();
        }
        return mAwareFeatureProvider;
    }
}
+46 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.aware;

import static com.google.common.truth.Truth.assertThat;

import android.content.Context;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;

@RunWith(RobolectricTestRunner.class)
public class AwareFeatureProviderImplTest {
    private Context mContext;
    private AwareFeatureProviderImpl mImpl;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        mImpl = new AwareFeatureProviderImpl();
    }

    @Test
    public void isSupported_shouldReturnFalse() {
        assertThat(mImpl.isSupported(mContext)).isFalse();
    }
}
Loading