in Fido/app/src/main/java/com/fido/example/fido2apiexample/Fido2DemoActivity.java [127:199]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
// START Google sign in API client
// configure sign-in to request user info
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(Constants.SERVER_CLIENT_ID)
.build();
// build client with access to Google Sign-In API and the options specified by gso
googleApiClient =
new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
// END Google sign in API client
// START prepare main layout
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
progressBar = findViewById(R.id.progressBar);
swipeRefreshLayout = findViewById(R.id.swipe_container);
swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.colorAccent));
swipeRefreshLayout.setRefreshing(true);
swipeRefreshLayout.setOnRefreshListener(
new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
updateAndDisplayRegisteredKeys();
}
});
recyclerView = findViewById(R.id.list);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
adapter =
new SecurityTokenAdapter(
new ArrayList<Map<String, String>>(), R.layout.row_token, Fido2DemoActivity.this);
// END prepare main layout
// START prepare drawer layout
DrawerLayout drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle =
new ActionBarDrawerToggle(
this,
drawer,
toolbar,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
navigationView.setItemIconTintList(null);
View header = navigationView.getHeaderView(0);
userEmailTextView = header.findViewById(R.id.userEmail);
displayNameTextView = header.findViewById(R.id.displayName);
Menu menu = navigationView.getMenu();
operationMenuItem = menu.findItem(R.id.nav_fido2Operations);
signInMenuItem = menu.findItem(R.id.nav_signin);
signOutMenuItem = menu.findItem(R.id.nav_signout);
signInButton = findViewById(R.id.sign_in_button);
signInButton.setSize(SignInButton.SIZE_WIDE);
signInButton.setScopes(gso.getScopeArray());
signInButton.setOnClickListener(this);
// END prepare drawer layout
// request SignIn or load registered tokens
updateUI();
}