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