InCallScreenShowActivation.java revision 13660626500d047d4a3a097e832bb175e1c4f894
14a5a966f0d43e04d336be1b94182346399a931f6Wink Saville/*
24a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * Copyright (C) 2009 The Android Open Source Project
34a5a966f0d43e04d336be1b94182346399a931f6Wink Saville *
44a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
54a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * you may not use this file except in compliance with the License.
64a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * You may obtain a copy of the License at
74a5a966f0d43e04d336be1b94182346399a931f6Wink Saville *
84a5a966f0d43e04d336be1b94182346399a931f6Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
94a5a966f0d43e04d336be1b94182346399a931f6Wink Saville *
104a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * Unless required by applicable law or agreed to in writing, software
114a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
124a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * See the License for the specific language governing permissions and
144a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * limitations under the License.
154a5a966f0d43e04d336be1b94182346399a931f6Wink Saville */
164a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
174a5a966f0d43e04d336be1b94182346399a931f6Wink Savillepackage com.android.phone;
184a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
1913660626500d047d4a3a097e832bb175e1c4f894Freeman Ngimport com.android.internal.telephony.Phone;
2013660626500d047d4a3a097e832bb175e1c4f894Freeman Ng
214a5a966f0d43e04d336be1b94182346399a931f6Wink Savilleimport android.app.Activity;
2213660626500d047d4a3a097e832bb175e1c4f894Freeman Ngimport android.app.PendingIntent;
234a5a966f0d43e04d336be1b94182346399a931f6Wink Savilleimport android.content.Intent;
244a5a966f0d43e04d336be1b94182346399a931f6Wink Savilleimport android.os.Bundle;
254a5a966f0d43e04d336be1b94182346399a931f6Wink Savilleimport android.util.Log;
264a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
274a5a966f0d43e04d336be1b94182346399a931f6Wink Saville/**
284a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * Trampoline to InCallScreen protected by PERFORM_CDMA_PROVISIONING permission
294a5a966f0d43e04d336be1b94182346399a931f6Wink Saville * to only expose SHOW_ACTIVATION.
304a5a966f0d43e04d336be1b94182346399a931f6Wink Saville */
314a5a966f0d43e04d336be1b94182346399a931f6Wink Savillepublic class InCallScreenShowActivation extends Activity {
324a5a966f0d43e04d336be1b94182346399a931f6Wink Saville    private static final String LOG_TAG = "InCallScreenShowActivation";
334a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
3413660626500d047d4a3a097e832bb175e1c4f894Freeman Ng    // the pending intent we'll use to report the user skipped provisioning
3513660626500d047d4a3a097e832bb175e1c4f894Freeman Ng    // Note: this constant must match the one defined in SetupWizardActivity
3613660626500d047d4a3a097e832bb175e1c4f894Freeman Ng    private static final String EXTRA_USER_SKIP_PENDING_INTENT = "ota_user_skip_pending_intent";
3713660626500d047d4a3a097e832bb175e1c4f894Freeman Ng
384a5a966f0d43e04d336be1b94182346399a931f6Wink Saville    @Override
394a5a966f0d43e04d336be1b94182346399a931f6Wink Saville    protected void onCreate(Bundle icicle) {
404a5a966f0d43e04d336be1b94182346399a931f6Wink Saville        super.onCreate(icicle);
414a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
4213660626500d047d4a3a097e832bb175e1c4f894Freeman Ng        Intent intent = getIntent();
4313660626500d047d4a3a097e832bb175e1c4f894Freeman Ng        if (intent.getAction().equals(InCallScreen.ACTION_SHOW_ACTIVATION)) {
444a5a966f0d43e04d336be1b94182346399a931f6Wink Saville            Intent newIntent = new Intent().setClass(this, InCallScreen.class)
454a5a966f0d43e04d336be1b94182346399a931f6Wink Saville                    .setAction(InCallScreen.ACTION_SHOW_ACTIVATION);
4613660626500d047d4a3a097e832bb175e1c4f894Freeman Ng
4713660626500d047d4a3a097e832bb175e1c4f894Freeman Ng            // tuck away the pending intent to send later if the user skips provisioning
4813660626500d047d4a3a097e832bb175e1c4f894Freeman Ng            PhoneApp app = PhoneApp.getInstance();
4913660626500d047d4a3a097e832bb175e1c4f894Freeman Ng            app.cdmaOtaInCallScreenUiState.reportSkipPendingIntent = (PendingIntent) intent
5013660626500d047d4a3a097e832bb175e1c4f894Freeman Ng                    .getParcelableExtra(EXTRA_USER_SKIP_PENDING_INTENT);
5113660626500d047d4a3a097e832bb175e1c4f894Freeman Ng
524a5a966f0d43e04d336be1b94182346399a931f6Wink Saville            startActivity(newIntent);
534a5a966f0d43e04d336be1b94182346399a931f6Wink Saville        } else {
544a5a966f0d43e04d336be1b94182346399a931f6Wink Saville            Log.e(LOG_TAG, "Inappropriate launch of InCallScreenShowActivation");
554a5a966f0d43e04d336be1b94182346399a931f6Wink Saville        }
564a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
574a5a966f0d43e04d336be1b94182346399a931f6Wink Saville        finish();
584a5a966f0d43e04d336be1b94182346399a931f6Wink Saville    }
594a5a966f0d43e04d336be1b94182346399a931f6Wink Saville
604a5a966f0d43e04d336be1b94182346399a931f6Wink Saville}
61