blob: 58d5c4247131ceffa08e175b55b8bbd7222f161d [file] [log] [blame]
/*
* Copyright (C) 2020 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 android.view.inputmethod.ctstestapp;
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
/**
* A test {@link Activity} that automatically shows the input method.
*/
public final class MainActivity extends Activity {
private static final String EXTRA_KEY_PRIVATE_IME_OPTIONS =
"android.view.inputmethod.ctstestapp.EXTRA_KEY_PRIVATE_IME_OPTIONS";
@Nullable
private String getPrivateImeOptions() {
if (getPackageManager().isInstantApp()) {
final Uri uri = getIntent().getData();
if (uri == null || !uri.isHierarchical()) {
return null;
}
return uri.getQueryParameter(EXTRA_KEY_PRIVATE_IME_OPTIONS);
}
return getIntent().getStringExtra(EXTRA_KEY_PRIVATE_IME_OPTIONS);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
final EditText editText = new EditText(this);
editText.setHint("editText");
final String privateImeOptions = getPrivateImeOptions();
if (privateImeOptions != null) {
editText.setPrivateImeOptions(privateImeOptions);
}
editText.requestFocus();
layout.addView(editText);
getWindow().setSoftInputMode(SOFT_INPUT_STATE_ALWAYS_VISIBLE);
setContentView(layout);
}
}