127a9fcc61823f919cee773df563b49ee11004f3bDan Sandler/* 227a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * Copyright (C) 2016 The Android Open Source Project 327a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * 427a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 527a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * except in compliance with the License. You may obtain a copy of the License at 627a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * 727a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * http://www.apache.org/licenses/LICENSE-2.0 827a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * 927a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * Unless required by applicable law or agreed to in writing, software distributed under the 1027a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1127a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * KIND, either express or implied. See the License for the specific language governing 1227a9fcc61823f919cee773df563b49ee11004f3bDan Sandler * permissions and limitations under the License. 1327a9fcc61823f919cee773df563b49ee11004f3bDan Sandler */ 1427a9fcc61823f919cee773df563b49ee11004f3bDan Sandler 1527a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerpackage com.android.egg.neko; 1627a9fcc61823f919cee773df563b49ee11004f3bDan Sandler 1727a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerimport android.app.Activity; 1827a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerimport android.content.ComponentName; 1927a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerimport android.content.pm.PackageManager; 2027a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerimport android.util.Log; 214b7e415803b3e3c9517b21bc9406af815442b59bDan Sandlerimport android.widget.Toast; 2227a9fcc61823f919cee773df563b49ee11004f3bDan Sandler 23a801d40531b71f8c75bb03bb8fec429f503e391eChris Wrenimport com.android.internal.logging.MetricsLogger; 24a801d40531b71f8c75bb03bb8fec429f503e391eChris Wren 2527a9fcc61823f919cee773df563b49ee11004f3bDan Sandlerpublic class NekoActivationActivity extends Activity { 264b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler private void toastUp(String s) { 274b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler Toast toast = Toast.makeText(this, s, Toast.LENGTH_SHORT); 284b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler toast.getView().setBackgroundDrawable(null); 294b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler toast.show(); 304b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler } 314b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler 3227a9fcc61823f919cee773df563b49ee11004f3bDan Sandler @Override 3327a9fcc61823f919cee773df563b49ee11004f3bDan Sandler public void onStart() { 3404f8cc2bb34035fa46bbc046a66972be8913b147Dan Sandler super.onStart(); 3504f8cc2bb34035fa46bbc046a66972be8913b147Dan Sandler 3627a9fcc61823f919cee773df563b49ee11004f3bDan Sandler final PackageManager pm = getPackageManager(); 3727a9fcc61823f919cee773df563b49ee11004f3bDan Sandler final ComponentName cn = new ComponentName(this, NekoTile.class); 3827a9fcc61823f919cee773df563b49ee11004f3bDan Sandler if (pm.getComponentEnabledSetting(cn) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { 3927a9fcc61823f919cee773df563b49ee11004f3bDan Sandler if (NekoLand.DEBUG) { 4027a9fcc61823f919cee773df563b49ee11004f3bDan Sandler Log.v("Neko", "Disabling tile."); 4127a9fcc61823f919cee773df563b49ee11004f3bDan Sandler } 424b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 434b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler PackageManager.DONT_KILL_APP); 44a801d40531b71f8c75bb03bb8fec429f503e391eChris Wren MetricsLogger.histogram(this, "egg_neko_enable", 0); 454b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler toastUp("\uD83D\uDEAB"); 4627a9fcc61823f919cee773df563b49ee11004f3bDan Sandler } else { 4727a9fcc61823f919cee773df563b49ee11004f3bDan Sandler if (NekoLand.DEBUG) { 4827a9fcc61823f919cee773df563b49ee11004f3bDan Sandler Log.v("Neko", "Enabling tile."); 4927a9fcc61823f919cee773df563b49ee11004f3bDan Sandler } 504b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 514b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler PackageManager.DONT_KILL_APP); 52a801d40531b71f8c75bb03bb8fec429f503e391eChris Wren MetricsLogger.histogram(this, "egg_neko_enable", 1); 534b7e415803b3e3c9517b21bc9406af815442b59bDan Sandler toastUp("\uD83D\uDC31"); 5427a9fcc61823f919cee773df563b49ee11004f3bDan Sandler } 5527a9fcc61823f919cee773df563b49ee11004f3bDan Sandler finish(); 5627a9fcc61823f919cee773df563b49ee11004f3bDan Sandler } 5727a9fcc61823f919cee773df563b49ee11004f3bDan Sandler} 58