Skip to content

Commit

Permalink
Use the Toolbar in the Twitter sample app
Browse files Browse the repository at this point in the history
Change-Id: I2ce3053307567fcb0c8dd7f94d8408b36703a947
  • Loading branch information
Dalton Hubble committed Aug 20, 2015
1 parent e709f07 commit a15fefb
Show file tree
Hide file tree
Showing 15 changed files with 202 additions and 90 deletions.
45 changes: 45 additions & 0 deletions samples/app/src/main/java/com/example/app/BaseActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Copyright (C) 2015 Twitter, Inc.
*
* 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.app;

import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

/**
* BaseActivity is an AppCompatActivity which sets up a Toolbar if present in the layout.
*/
public class BaseActivity extends AppCompatActivity {

@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
setupToolbar();
}

/**
* Finds and sets the Toolbar as the support ActionBar if it is non-null. Returns the Toolbar.
* @return The Toolbar view or null if not found.
*/
protected Toolbar setupToolbar() {
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
}
return toolbar;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
Expand All @@ -28,7 +27,7 @@
import com.example.app.tweetui.TweetUiMainActivity;
import com.example.app.twittercore.TwitterCoreMainActivity;

public class TwitterSampleActivity extends AppCompatActivity {
public class TwitterSampleActivity extends BaseActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,30 @@
package com.example.app.tweetcomposer;

import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;

import com.example.app.BaseActivity;
import com.twitter.sdk.android.tweetcomposer.TweetComposer;

import com.example.app.R;

import java.net.MalformedURLException;
import java.net.URL;

public class TweetComposerMainActivity extends AppCompatActivity {
public class TweetComposerMainActivity extends BaseActivity {
private static final String TAG = "TweetComposer";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tweetcomposer_activity_main);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.kit_tweetcomposer);
}
}

public void onTweet(View view) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AbsListView;
import android.widget.ListView;
import android.widget.Toast;

import com.example.app.BaseActivity;
import com.example.app.R;
import com.example.app.twittercore.TwitterCoreMainActivity;
import com.twitter.sdk.android.core.Callback;
Expand All @@ -43,15 +43,14 @@
/**
* TimelineActivity shows a full screen timeline which is useful for screenshots.
*/
public class TimelineActivity extends AppCompatActivity {
public class TimelineActivity extends BaseActivity {

final WeakReference<Activity> activityRef = new WeakReference<Activity>(TimelineActivity.this);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tweetui_swipe_timeline);

ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.refresh_timeline_title);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;

import com.example.app.BaseActivity;
import com.example.app.R;

/**
* TweetUiActivity base activity which supports single fragments and the ActionBar.
* TweetUiActivity is a BaseActivity which creates a single fragment.
*/
public abstract class TweetUiActivity extends AppCompatActivity {
public abstract class TweetUiActivity extends BaseActivity {

abstract int getLayout();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,23 @@

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.ActionBar;
import android.view.View;
import android.widget.Button;

import com.example.app.BaseActivity;
import com.example.app.R;

public class TweetUiMainActivity extends AppCompatActivity {
public class TweetUiMainActivity extends BaseActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tweetui_activity_main);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.kit_tweetui);
}

final Button xmlTweetButton = (Button) findViewById(R.id.button_xml_tweet_activity);
xmlTweetButton.setOnClickListener(new View.OnClickListener() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.ActionBar;
import android.widget.Toast;

import com.example.app.BaseActivity;
import com.twitter.sdk.android.core.Callback;
import com.twitter.sdk.android.core.Result;
import com.twitter.sdk.android.core.TwitterException;
Expand All @@ -32,7 +33,7 @@

import com.example.app.R;

public class TwitterCoreMainActivity extends AppCompatActivity {
public class TwitterCoreMainActivity extends BaseActivity {

private TwitterLoginButton loginButton;

Expand All @@ -49,6 +50,10 @@ public static Intent newIntent(Context packageContext) {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.twittercore_activity_main);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.kit_twittercore);
}

// Set up the login button by setting callback to invoke when authorization request
// completes
Expand Down
23 changes: 17 additions & 6 deletions samples/app/src/main/res/layout/activity_frame.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MergeRootFrame" />
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
android:id="@+id/toolbar"
layout="@layout/toolbar"/>

<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"/>

</RelativeLayout>
12 changes: 12 additions & 0 deletions samples/app/src/main/res/layout/toolbar.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="?attr/colorPrimary"
tools:ignore="Overdraw"/>
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
android:id="@+id/toolbar"
layout="@layout/toolbar"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Expand Down
97 changes: 55 additions & 42 deletions samples/app/src/main/res/layout/tweetui_activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,62 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
android:orientation="vertical">

<Button
android:id="@+id/button_tweet_preview_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preview_tweet"/>

<Button
android:id="@+id/button_xml_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/xml_tweets_activity"/>

<Button
android:id="@+id/button_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tweets_activity"/>

<Button
android:id="@+id/button_unique_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unqiue_tweets"/>

<Button
android:id="@+id/button_timelines_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_timelines_activity"/>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<Button
android:id="@+id/button_fixed_timeline_activity"
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fixed_timeline"/>

<Button
android:id="@+id/button_refresh_timeline_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/refresh_timeline"/>

android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center">

<Button
android:id="@+id/button_tweet_preview_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preview_tweet"/>

<Button
android:id="@+id/button_xml_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/xml_tweets_activity"/>

<Button
android:id="@+id/button_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tweets_activity"/>

<Button
android:id="@+id/button_unique_tweet_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unqiue_tweets"/>

<Button
android:id="@+id/button_timelines_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_timelines_activity"/>

<Button
android:id="@+id/button_fixed_timeline_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fixed_timeline"/>

<Button
android:id="@+id/button_refresh_timeline_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/refresh_timeline"/>

</LinearLayout>
</LinearLayout>
7 changes: 5 additions & 2 deletions samples/app/src/main/res/layout/tweetui_swipe_timeline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="5dp">
android:orientation="vertical">

<include
android:id="@+id/toolbar"
layout="@layout/toolbar"/>

<ListView
android:id="@id/android:list"
Expand Down
Loading

0 comments on commit a15fefb

Please sign in to comment.