FileDocCategorySizeDatePackage
InstallAppDone.javaAPI DocAndroid 1.5 API4331Wed May 06 22:42:46 BST 2009com.android.packageinstaller

InstallAppDone

public class InstallAppDone extends android.app.Activity implements View.OnClickListener
This activity corresponds to a install status screen that is displayed when the user tries to install an application bundled as an apk file. The screen has two buttons to either launch the newly installed application or close the screen. The installation result and the package uri are passed through the intent that launches the activity.

Fields Summary
private final String
TAG
private boolean
localLOGV
private android.content.pm.ApplicationInfo
mAppInfo
private android.widget.Button
mDoneButton
private android.widget.Button
mLaunchButton
private boolean
installFlag
private android.content.Intent
mLaunchIntent
Constructors Summary
Methods Summary
public voidinitView()

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        String unknown =  getString(R.string.unknown);
        setContentView(R.layout.install_done);
        // Initialize views
        PackageUtil.initAppSnippet(this, mAppInfo, R.id.app_snippet);
        TextView centerText = (TextView)findViewById(R.id.center_text);
        mDoneButton = (Button)findViewById(R.id.done_button);
        mLaunchButton = (Button)findViewById(R.id.launch_button);
        int centerTextDrawableId;
        int centerTextLabel;
        if(installFlag) {
            mLaunchButton.setVisibility(View.VISIBLE);
            centerTextDrawableId = R.drawable.button_indicator_finish;
            centerTextLabel = R.string.install_done;
            // Enable or disable launch button
            try {
                mLaunchIntent = getPackageManager().getLaunchIntentForPackage( 
                        mAppInfo.packageName);
            } catch (PackageManager.NameNotFoundException e) {
            }
            if(mLaunchIntent != null) {
                mLaunchButton.setOnClickListener(this);
            } else {
                mLaunchButton.setEnabled(false);
            }
        } else {
            centerTextDrawableId = com.android.internal.R.drawable.ic_bullet_key_permission;
            centerTextLabel = R.string.install_failed;
            mLaunchButton.setVisibility(View.INVISIBLE);
        }
        Drawable centerTextDrawable = getResources().getDrawable(centerTextDrawableId);
        centerTextDrawable.setBounds(0, 0, 
                centerTextDrawable.getIntrinsicWidth(),
                centerTextDrawable.getIntrinsicHeight());
        centerText.setCompoundDrawables(centerTextDrawable, null, null, null);
        centerText.setText(getString(centerTextLabel));
        mDoneButton.setOnClickListener(this);
    
public voidonClick(android.view.View v)

        if(v == mDoneButton) {
            Log.i(TAG, "Finished installing "+mAppInfo);
            finish();
        } else if(v == mLaunchButton) {
                startActivity(mLaunchIntent);
                finish();
        }
    
public voidonCreate(android.os.Bundle icicle)

    
    
        
        super.onCreate(icicle);
        Intent intent = getIntent();
        mAppInfo = intent.getParcelableExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO);
        installFlag = intent.getBooleanExtra(PackageUtil.INTENT_ATTR_INSTALL_STATUS, true);
        if(localLOGV) Log.i(TAG, "installFlag="+installFlag);
        initView();