15d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak/*
25d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * Copyright 2016, The Android Open Source Project
35d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak *
45d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * Licensed under the Apache License, Version 2.0 (the "License");
55d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * you may not use this file except in compliance with the License.
65d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * You may obtain a copy of the License at
75d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak *
85d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak *     http://www.apache.org/licenses/LICENSE-2.0
95d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak *
105d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * Unless required by applicable law or agreed to in writing, software
115d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * distributed under the License is distributed on an "AS IS" BASIS,
125d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * See the License for the specific language governing permissions and
145d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * limitations under the License.
155d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak */
165d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak
175d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzakpackage com.android.managedprovisioning.common;
185d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak
191ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzakimport android.annotation.Nullable;
205d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzakimport android.content.res.ColorStateList;
21e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Makimport android.os.Bundle;
22e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Makimport android.os.SystemProperties;
2380ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Changimport android.support.annotation.VisibleForTesting;
241ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak
255d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzakimport com.android.managedprovisioning.R;
265d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzakimport com.android.setupwizardlib.GlifLayout;
27e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Makimport com.android.setupwizardlib.util.WizardManagerHelper;
285d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak
295d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak/**
305d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak * Base class for setting up the layout.
315d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak */
325d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzakpublic abstract class SetupGlifLayoutActivity extends SetupLayoutActivity {
3380ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang    public SetupGlifLayoutActivity() {
3480ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang        super();
3580ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang    }
3680ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang
37e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak    @Override
38e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak    protected void onCreate(Bundle savedInstanceState) {
39e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak        super.onCreate(savedInstanceState);
40e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak        setDefaultTheme();
41e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak    }
42e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak
4380ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang    @VisibleForTesting
4480ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang    protected SetupGlifLayoutActivity(Utils utils) {
4580ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang        super(utils);
4680ae370242ebd15119d1a6e9e5026e036bfe1cf7Victor Chang    }
473cc3880a7d61101d439cf6c5fdd351e22fdc8f4fJakub Gielzak
481ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak    protected void initializeLayoutParams(int layoutResourceId, @Nullable Integer headerResourceId,
4931768d775132b1e927113de3d1038cab133b2fe3Tony Mak            int mainColor, int statusBarColor) {
505d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak        setContentView(layoutResourceId);
51e827cf3905430ffd17cc63848bf8f0b4258739aaTony Mak        GlifLayout layout = findViewById(R.id.setup_wizard_layout);
521ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak
5331768d775132b1e927113de3d1038cab133b2fe3Tony Mak        setStatusBarColor(statusBarColor);
543cc3880a7d61101d439cf6c5fdd351e22fdc8f4fJakub Gielzak        layout.setPrimaryColor(ColorStateList.valueOf(mainColor));
551ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak
561ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak        if (headerResourceId != null) {
571ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak            layout.setHeaderText(headerResourceId);
581ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak        }
591ccb25aaf0dc5aaaed53ff54d3538c436f83fc18Jakub Gielzak
603cc3880a7d61101d439cf6c5fdd351e22fdc8f4fJakub Gielzak        layout.setIcon(LogoUtils.getOrganisationLogo(this, mainColor));
615d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak    }
62e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak
63e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak    private void setDefaultTheme() {
64e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak        // Take Glif light as default theme like
65e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak        // com.google.android.setupwizard.util.ThemeHelper.getDefaultTheme
66e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak        setTheme(WizardManagerHelper.getThemeRes(SystemProperties.get("setupwizard.theme"),
67e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak                R.style.SuwThemeGlif_Light));
68e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak    }
69e4a18c37c5f5f4557283e660c03e968b42b2f27cTony Mak
705d71a12cb40f72157b983c365f3eee584d55e22cJakub Gielzak}