Show the disclaimer regarding WFC location privacy policy
In some countries the rules is very strict about responsibility and liability around location data during emergency calls. The purpose of this feature is to notify end user that the location information will be shared for calls over wifi calling. Test: manual - Checked that WFC locatopn privacy policy is shown when changing wifi calling setting to turned on. Test: auto - Passed LocationPolicyDisclaimerTest. Bug: 67872298 Change-Id: I03895743fb8da95269069ad7eda9a7b3e282857e
This commit is contained in:
@@ -51,6 +51,7 @@ public final class DisclaimerItemFactory {
|
||||
|
||||
private static List<DisclaimerItem> getDisclaimerItemList(Context context, int subId) {
|
||||
List<DisclaimerItem> itemList = new ArrayList<DisclaimerItem>();
|
||||
itemList.add(new LocationPolicyDisclaimer(context, subId));
|
||||
|
||||
return itemList;
|
||||
}
|
||||
|
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* 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.wifi.calling;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.PersistableBundle;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
|
||||
/**
|
||||
* Disclaimer item class for displaying location privacy policy UI on
|
||||
* {@link WifiCallingDisclaimerFragment}.
|
||||
*/
|
||||
class LocationPolicyDisclaimer extends DisclaimerItem {
|
||||
private static final String DISCLAIMER_ITEM_NAME = "LocationPolicyDisclaimer";
|
||||
@VisibleForTesting
|
||||
static final String KEY_HAS_AGREED_LOCATION_DISCLAIMER
|
||||
= "key_has_agreed_location_disclaimer";
|
||||
|
||||
LocationPolicyDisclaimer(Context context, int subId) {
|
||||
super(context, subId);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
boolean shouldShow() {
|
||||
PersistableBundle config = getCarrierConfig();
|
||||
if (!config.getBoolean(CarrierConfigManager.KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL)) {
|
||||
logd("shouldShow: false due to carrier config is false.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (config.getBoolean(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL)) {
|
||||
logd("shouldShow: false due to WFC is on as default.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return super.shouldShow();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected String getName() {
|
||||
return DISCLAIMER_ITEM_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected int getTitleId() {
|
||||
return R.string.wfc_disclaimer_location_title_text;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected int getMessageId() {
|
||||
return R.string.wfc_disclaimer_location_desc_text;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected String getPrefKey() {
|
||||
return KEY_HAS_AGREED_LOCATION_DISCLAIMER;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user