/*
* Copyright (c) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.example.android.tvleanback.ui;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v17.leanback.app.GuidedStepFragment;
import android.support.v17.leanback.widget.GuidanceStylist;
import android.support.v17.leanback.widget.GuidedAction;
import android.text.InputType;
import android.widget.Toast;
import com.example.android.tvleanback.R;
import java.util.List;
public class AuthenticationActivity extends Activity {
private static final int CONTINUE = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (null == savedInstanceState) {
GuidedStepFragment.addAsRoot(this, new FirstStepFragment(), android.R.id.content);
}
}
public static class FirstStepFragment extends GuidedStepFragment {
@Override
public int onProvideTheme() {
return R.style.Theme_Example_Leanback_GuidedStep_First;
}
@Override
@NonNull
public GuidanceStylist.Guidance onCreateGuidance(@NonNull Bundle savedInstanceState) {
String title = getString(R.string.pref_title_screen_signin);
String description = getString(R.string.pref_title_login_description);
Drawable icon = getActivity().getDrawable(R.drawable.ic_main_icon);
return new GuidanceStylist.Guidance(title, description, "", icon);
}
@Override
public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
GuidedAction enterUsername = new GuidedAction.Builder()
.title(getString(R.string.pref_title_username))
.descriptionEditable(true)
.build();
GuidedAction enterPassword = new GuidedAction.Builder()
.title(getString(R.string.pref_title_password))
.descriptionEditable(true)
.descriptionInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT)
.build();
GuidedAction login = new GuidedAction.Builder()
.id(CONTINUE)
.title(getString(R.string.guidedstep_continue))
.build();
actions.add(enterUsername);
actions.add(enterPassword);
actions.add(login);
}
@Override
public void onGuidedActionClicked(GuidedAction action) {
if (action.getId() == CONTINUE) {
// TODO Authenticate your account
// Assume the user was logged in
Toast.makeText(getActivity(), "Welcome!", Toast.LENGTH_SHORT).show();
getActivity().finishAfterTransition();
}
}
}
}