/*
 * 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.simappdialog;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemProperties;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.android.setupwizardlib.util.WizardManagerHelper;

Activity that gives a user the choice to download the SIM app or defer until a later time Will finish with result DEFER_RESULT on defer button press or DOWNLOAD_RESULT if the download button is pressed Can display the carrier app name if its passed into the intent with key BUNDLE_KEY_CARRIER_NAME
/** * Activity that gives a user the choice to download the SIM app or defer until a later time * * Will finish with result {@link #DEFER_RESULT} on defer button press or {@link #DOWNLOAD_RESULT} * if the download button is pressed * * Can display the carrier app name if its passed into the intent with key * {@link #BUNDLE_KEY_CARRIER_NAME} */
public class InstallCarrierAppActivity extends Activity implements View.OnClickListener {
Key for the carrier app name that will be displayed as the app to download. If unset, a default description will be used
/** * Key for the carrier app name that will be displayed as the app to download. If unset, a * default description will be used */
public static final String BUNDLE_KEY_CARRIER_NAME = "carrier_name";
Result code when the defer button is pressed
/** Result code when the defer button is pressed */
public static final int DEFER_RESULT = 1;
Result code when the download button is pressed
/** Result code when the download button is pressed */
public static final int DOWNLOAD_RESULT = 2; @Override protected void onCreate(Bundle icicle) { // Setup theme for aosp/pixel setTheme( WizardManagerHelper.getThemeRes( SystemProperties.get("setupwizard.theme"), R.style.SuwThemeGlif_Light ) ); super.onCreate(icicle); setContentView(R.layout.install_carrier_app_activity); Button notNowButton = findViewById(R.id.skip_button); notNowButton.setOnClickListener(this); Button downloadButton = findViewById(R.id.download_button); downloadButton.setOnClickListener(this); // Include carrier name in description text if its present in the intent Intent intent = getIntent(); if (intent != null) { String carrierName = intent.getStringExtra(BUNDLE_KEY_CARRIER_NAME); if (!TextUtils.isEmpty(carrierName)) { TextView subtitle = findViewById(R.id.install_carrier_app_description); subtitle.setText(getString(R.string.install_carrier_app_description, carrierName)); } } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.skip_button: finish(DEFER_RESULT); break; case R.id.download_button: finish(DOWNLOAD_RESULT); break; } } private void finish(int resultCode) { setResult(resultCode); finish(); } }