| /* | |
| * Copyright (C) 2015 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.example.android.multiwindow; | |
| import android.app.Activity; | |
| import android.content.Intent; | |
| import android.os.Bundle; | |
| import android.view.View; | |
| import android.widget.TextView; | |
| public class LaunchingAdjacentActivity extends Activity implements View.OnClickListener { | |
| private static final String INSTANCE_NUMBER_KEY = "instance_number"; | |
| private static int mInstanceCount; | |
| private int mInstanceNumber; | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| setContentView(R.layout.launching_adjacent_layout); | |
| findViewById(R.id.launch_settings_adjacent).setOnClickListener(this); | |
| findViewById(R.id.launch_new_task_single).setOnClickListener(this); | |
| findViewById(R.id.launch_new_task_multiple).setOnClickListener(this); | |
| findViewById(R.id.launch_new_task_adjacent).setOnClickListener(this); | |
| if (savedInstanceState != null) { | |
| mInstanceNumber = savedInstanceState.getInt(INSTANCE_NUMBER_KEY); | |
| } else { | |
| mInstanceNumber = mInstanceCount++; | |
| } | |
| ((TextView) findViewById(R.id.instance_number)) | |
| .setText(getString(R.string.instance_number) + mInstanceNumber); | |
| } | |
| @Override | |
| public void onClick(View v) { | |
| switch (v.getId()) { | |
| case R.id.launch_settings_adjacent: { | |
| Intent intent = new Intent("android.settings.SETTINGS"); | |
| intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | |
| | Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT); | |
| startActivity(intent); | |
| } | |
| break; | |
| case R.id.launch_new_task_single: { | |
| Intent intent = newAdjacentActivityIntent(); | |
| intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | |
| startActivity(intent); | |
| } | |
| break; | |
| case R.id.launch_new_task_multiple: { | |
| Intent intent = newAdjacentActivityIntent(); | |
| intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); | |
| startActivity(intent); | |
| } | |
| break; | |
| case R.id.launch_new_task_adjacent: { | |
| Intent intent = newAdjacentActivityIntent(); | |
| intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK | |
| | Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT); | |
| startActivity(intent); | |
| } | |
| break; | |
| } | |
| } | |
| private Intent newAdjacentActivityIntent() { | |
| Intent intent = new Intent(this, LaunchingAdjacentActivity.class); | |
| intent.setAction(Intent.ACTION_MAIN); | |
| intent.addCategory(Intent.CATEGORY_LAUNCHER); | |
| return intent; | |
| } | |
| @Override | |
| public void onSaveInstanceState(Bundle savedInstanceState) { | |
| savedInstanceState.putInt(INSTANCE_NUMBER_KEY, mInstanceNumber); | |
| super.onSaveInstanceState(savedInstanceState); | |
| } | |
| } |