1 /* 2 * Copyright 2018 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.example.androidx.webkit; 18 19 import android.app.Activity; 20 import android.content.Context; 21 import android.content.Intent; 22 import android.os.Bundle; 23 import android.widget.ListView; 24 25 import androidx.appcompat.app.AppCompatActivity; 26 27 import org.jspecify.annotations.Nullable; 28 29 /** 30 * An {@link Activity} for exercising various WebView functionality. This Activity is a {@link 31 * ListView} which starts other Activities, each of which may similarly be a ListView, or may 32 * actually exercise specific {@link android.webkit.WebView} features. 33 */ 34 public class MainActivity extends AppCompatActivity { 35 36 @Override onCreate(@ullable Bundle savedInstanceState)37 protected void onCreate(@Nullable Bundle savedInstanceState) { 38 super.onCreate(savedInstanceState); 39 40 setContentView(R.layout.activity_main); 41 WebkitHelpers.appendWebViewVersionToTitle(this); 42 43 final Context activityContext = this; 44 MenuListView listView = findViewById(R.id.top_level_list); 45 MenuListView.MenuItem[] menuItems = new MenuListView.MenuItem[] { 46 new MenuListView.MenuItem( 47 getResources().getString(R.string.safebrowsing_activity_title), 48 new Intent(activityContext, SafeBrowsingActivity.class)), 49 new MenuListView.MenuItem( 50 getResources().getString(R.string.proxy_override_activity_title), 51 new Intent(activityContext, ProxyOverrideActivity.class)), 52 new MenuListView.MenuItem( 53 getResources().getString(R.string.asset_loader_list_activity_title), 54 new Intent(activityContext, AssetLoaderListActivity.class)), 55 new MenuListView.MenuItem( 56 getResources().getString(R.string.force_dark_activity_title), 57 new Intent(activityContext, ForceDarkActivity.class)), 58 new MenuListView.MenuItem( 59 getResources().getString(R.string.force_dark_strategy_activity_title), 60 new Intent(activityContext, ForceDarkStrategyActivity.class)), 61 new MenuListView.MenuItem( 62 getResources().getString(R.string.multi_process_enabled_activity_title), 63 new Intent(activityContext, MultiProcessEnabledActivity.class)), 64 new MenuListView.MenuItem( 65 getResources().getString(R.string.tracing_controller_activity_title), 66 new Intent(activityContext, TracingControllerActivity.class)), 67 new MenuListView.MenuItem( 68 getResources().getString(R.string.renderer_termination_activity_title), 69 new Intent(activityContext, RendererTerminationActivity.class)), 70 new MenuListView.MenuItem( 71 getResources().getString(R.string.fullscreen_activity_title), 72 new Intent(activityContext, FullscreenActivity.class)), 73 new MenuListView.MenuItem( 74 getResources().getString(R.string.js_java_interaction_activity_title), 75 new Intent(activityContext, JsJavaInteractionActivity.class)), 76 new MenuListView.MenuItem( 77 getResources().getString(R.string.variations_header_activity_title), 78 new Intent(activityContext, GetVariationsHeaderActivity.class)), 79 new MenuListView.MenuItem( 80 getResources().getString(R.string.process_global_config_activity_title), 81 new Intent(activityContext, ProcessGlobalConfigActivity.class)), 82 new MenuListView.MenuItem( 83 getResources().getString(R.string.requested_with_activity_title), 84 new Intent(activityContext, RequestedWithHeaderActivity.class)), 85 new MenuListView.MenuItem( 86 getResources().getString(R.string.cookie_manager_activity_title), 87 new Intent(activityContext, CookieManagerActivity.class)), 88 new MenuListView.MenuItem( 89 getResources().getString(R.string.image_drag_drop_activity_title), 90 new Intent(activityContext, ImageDragActivity.class)), 91 new MenuListView.MenuItem( 92 getResources().getString(R.string.user_agent_metadata_activity_title), 93 new Intent(activityContext, UserAgentMetadataActivity.class)), 94 new MenuListView.MenuItem( 95 getResources().getString(R.string.multi_profile_activity_title), 96 new Intent(activityContext, MultiProfileTestActivity.class)), 97 new MenuListView.MenuItem( 98 getResources().getString(R.string.mute_audio_activity_title), 99 new Intent(activityContext, MuteAudioActivity.class)), 100 new MenuListView.MenuItem( 101 getResources().getString(R.string.restricted_content_activity_title), 102 new Intent(activityContext, RestrictedContentActivity.class)), 103 new MenuListView.MenuItem( 104 getResources().getString(R.string.async_startup_activity_title), 105 new Intent(activityContext, AsyncStartUpActivity.class)), 106 new MenuListView.MenuItem( 107 getResources().getString(R.string.default_trafficstats_tagging_activity), 108 new Intent(activityContext, DefaultTrafficStatsTaggingActivity.class)), 109 new MenuListView.MenuItem( 110 getResources().getString(R.string.web_storage_activity_title), 111 new Intent(activityContext, WebStorageCompatActivity.class)), 112 new MenuListView.MenuItem( 113 getResources().getString(R.string.payment_request_activity_title), 114 new Intent(activityContext, PaymentRequestActivity.class)), 115 }; 116 listView.setItems(menuItems); 117 } 118 } 119