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}