Skip to content

Commit

Permalink
Merge branch 'feature/Part5' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
tiwiz committed Dec 15, 2015
2 parents ea163bd + 5e74227 commit 62d4a14
Show file tree
Hide file tree
Showing 10 changed files with 174 additions and 20 deletions.
8 changes: 5 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ retrolambda {

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'io.reactivex:rxjava:1.0.14'
compile 'com.android.support:design:23.0.1'
compile 'com.android.support:design:23.1.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.trello:rxlifecycle:0.3.0'
compile 'com.trello:rxlifecycle-components:0.3.0'
}
43 changes: 35 additions & 8 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="it.tiwiz.rxjavacrunch" >
package="it.tiwiz.rxjavacrunch">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand All @@ -20,25 +20,52 @@
</activity>
<activity
android:name=".part1.Part1Activity"
android:label="@string/title_activity_part1" />
android:label="@string/title_activity_part1"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.MainActivity" />
</activity>
<activity
android:name=".part2.Part2Activity"
android:label="@string/title_activity_part2" />
android:label="@string/title_activity_part2"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.MainActivity" />
</activity>
<activity
android:name=".part3.Part3Activity"
android:label="@string/title_activity_part3" />
android:label="@string/title_activity_part3"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.MainActivity" />
</activity>
<activity
android:name=".part4.Part4Activity"
android:label="@string/title_activity_main4" >
android:label="@string/title_activity_main4"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.MainActivity" />
</activity>
<activity
android:name=".part4.Part4DetailActivity"
android:label="@string/title_activity_part4_detail"
android:parentActivityName=".part4.Part4Activity" >
android:parentActivityName=".part4.Part4Activity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.part4.Part4Activity" />
</activity>
<activity
android:name=".part5.Part5Activity"
android:label="@string/title_activity_part5"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.tiwiz.rxjavacrunch.MainActivity" />
</activity>
</application>

</manifest>
5 changes: 5 additions & 0 deletions app/src/main/java/it/tiwiz/rxjavacrunch/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import it.tiwiz.rxjavacrunch.part2.Part2Activity;
import it.tiwiz.rxjavacrunch.part3.Part3Activity;
import it.tiwiz.rxjavacrunch.part4.Part4Activity;
import it.tiwiz.rxjavacrunch.part5.Part5Activity;


public class MainActivity extends AppCompatActivity implements View.OnClickListener{
Expand All @@ -29,6 +30,7 @@ private void wireUi() {
setTapListener(R.id.btnPart2);
setTapListener(R.id.btnPart3);
setTapListener(R.id.btnPart4);
setTapListener(R.id.btnPart5);
}

private void setTapListener(int viewId) {
Expand Down Expand Up @@ -56,6 +58,9 @@ private Intent getLaunchIntentFor(int viewId) {
case R.id.btnPart4:
launchIntent = new Intent(this, Part4Activity.class);
break;
case R.id.btnPart5:
launchIntent = new Intent(this, Part5Activity.class);
break;
}

return launchIntent;
Expand Down
61 changes: 61 additions & 0 deletions app/src/main/java/it/tiwiz/rxjavacrunch/part5/Part5Activity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package it.tiwiz.rxjavacrunch.part5;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;

import com.trello.rxlifecycle.components.support.RxAppCompatActivity;

import java.util.concurrent.TimeUnit;

import it.tiwiz.rxjavacrunch.R;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action0;

public class Part5Activity extends RxAppCompatActivity {

private TextView textEmittedNumber;
private static final String TAG = "NightObserver";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_part5);
wireUpActivity();
startEmitting();
}

private void wireUpActivity() {
textEmittedNumber = (TextView) findViewById(R.id.mainEmittedNumber);
}


private void startEmitting() {
Log.d(TAG, "Night gathers, and now my watch begins");
Observable.interval(1, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.compose(bindToLifecycle())
.subscribe(this::logOnNext, this::logOnError, this::logOnCompleted);
}

private void logOnNext(Long time) {
textEmittedNumber.setText(String.valueOf(time));
Log.d(TAG, "Nothing bad happened for " + time + " seconds");
}

private void logOnError(Throwable throwable) {
Log.e(TAG, "Something worse than White Walkers is approaching!\t" + throwable.getMessage());
}

private void logOnCompleted() {
Log.d(TAG, "The day has come, may my watch end!");
}

@Override
protected void onPause() {
super.onPause();
Log.w(TAG, "The sun is rising!");
}
}
7 changes: 7 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,11 @@
android:id="@+id/btnPart4"
android:text="Part 4"
android:layout_below="@id/btnPart3"/>

<Button
style="@style/RxButton"
android:id="@+id/btnPart5"
android:text="Part 5"
android:layout_below="@id/btnPart4"/>

</RelativeLayout>
35 changes: 35 additions & 0 deletions app/src/main/res/layout/activity_part5.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
android:layout_margin="16dp"
tools:context="it.tiwiz.rxjavacrunch.part5.Part5Activity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal">

<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="Currently emitted number"
android:textSize="14sp" />

<TextView
android:id="@+id/mainEmittedNumber"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:textSize="20sp"
tools:text="12345678901234" />
</LinearLayout>


</LinearLayout>
9 changes: 9 additions & 0 deletions app/src/main/res/values-v21/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<resources>>

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
</resources>
16 changes: 7 additions & 9 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
<resources>
<string name="app_name">RxJava Crunch</string>

<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_part1">Part1Activity</string>
<string name="title_activity_part2">Part2Activity</string>
<string name="title_activity_part3">Part3Activity</string>
<string name="title_activity_main4">Retrofit test</string>
<string name="title_activity_part4_detail">Part4DetailActivity</string>
<string name="app_name">Crunching RxAndroid</string>
<string name="title_activity_part1">Crunching RxAndroid - Part 1</string>
<string name="title_activity_part2">Crunching RxAndroid - Part 2</string>
<string name="title_activity_part3">Crunching RxAndroid - Part 3</string>
<string name="title_activity_main4">Crunching RxAndroid - Retrofit</string>
<string name="title_activity_part4_detail">Crunching RxAndroid - Retrofit Detail</string>
<string name="title_activity_part5">Crunching RxAndroid - RxLifecycle</string>
</resources>
9 changes: 9 additions & 0 deletions app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,13 @@
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">48dp</item>
</style>

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>

0 comments on commit 62d4a14

Please sign in to comment.