Skip to content

Commit 4b8dd82

Browse files
author
Daniel Novak
committed
Update sample
1 parent 2d781e4 commit 4b8dd82

File tree

26 files changed

+139
-161
lines changed

26 files changed

+139
-161
lines changed

build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
31
buildscript {
42
repositories {
53
jcenter()
64
}
75
dependencies {
8-
classpath 'com.android.tools.build:gradle:1.0.0'
6+
classpath 'com.android.tools.build:gradle:1.2.2'
97
}
108
}
119

library/build.gradle

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ apply plugin: 'com.android.library'
22
apply plugin: 'maven'
33

44
android {
5-
compileSdkVersion 21
6-
buildToolsVersion '21.1.2'
5+
compileSdkVersion 22
6+
buildToolsVersion '22.0.1'
77

88
defaultConfig {
99
minSdkVersion 15
10-
targetSdkVersion 21
10+
targetSdkVersion 22
1111
versionCode 1
1212
versionName VERSION_NAME
1313
}
@@ -24,12 +24,9 @@ android {
2424
}
2525

2626
dependencies {
27-
compile fileTree(dir: 'libs', include: ['*.jar'])
28-
compile 'com.android.support:support-v4:21.0.3'
29-
compile 'com.android.support:support-annotations:20.0.0'
27+
compile 'com.android.support:appcompat-v7:22.1.1'
3028
}
3129

32-
3330
task androidJavadocs(type: Javadoc) {
3431
source = android.sourceSets.main.java.srcDirs
3532
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))

library/src/main/java/eu/inloop/viewmodel/base/ViewModelBaseActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
import android.os.Bundle;
44
import android.support.v4.app.FragmentActivity;
5+
import android.support.v7.app.AppCompatActivity;
56

67
import eu.inloop.viewmodel.AbstractViewModel;
78
import eu.inloop.viewmodel.IView;
89
import eu.inloop.viewmodel.ViewModelHelper;
910

10-
public abstract class ViewModelBaseActivity<T extends IView, R extends AbstractViewModel<T>> extends FragmentActivity implements IView {
11+
public abstract class ViewModelBaseActivity<T extends IView, R extends AbstractViewModel<T>> extends AppCompatActivity implements IView {
1112

1213
private ViewModelHelper<T, R> mViewModeHelper = new ViewModelHelper<>();
1314

sample/build.gradle

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 21
5-
buildToolsVersion "21.1.2"
4+
compileSdkVersion 22
5+
buildToolsVersion '22.0.1'
66

77
defaultConfig {
88
applicationId 'eu.inloop.viewmodel.sample'
99
minSdkVersion 15
10-
targetSdkVersion 21
10+
targetSdkVersion 22
1111
versionCode 1
1212
versionName '1.0'
1313
}
@@ -25,9 +25,7 @@ android {
2525
}
2626

2727
dependencies {
28-
compile fileTree(dir: 'libs', include: ['*.jar'])
29-
compile 'com.android.support:support-v4:21.0.3'
30-
compile 'com.android.support:support-annotations:20.0.0'
28+
compile 'com.android.support:appcompat-v7:22.1.1'
3129
compile 'com.jakewharton:butterknife:5.1.2'
3230
compile project(':library')
3331
}

sample/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<application
66
android:allowBackup="true"
7-
android:icon="@drawable/ic_launcher"
7+
android:icon="@mipmap/ic_launcher"
88
android:label="@string/app_name"
99
android:theme="@style/AppTheme" >
1010
<activity
Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
package eu.inloop.viewmodel.sample.activity;
22

33
import android.os.Bundle;
4-
import android.view.Window;
54

65
import butterknife.ButterKnife;
76
import butterknife.OnClick;
7+
import eu.inloop.viewmodel.base.ViewModelBaseActivity;
88
import eu.inloop.viewmodel.sample.R;
99
import eu.inloop.viewmodel.sample.fragment.EmptyFragment;
1010
import eu.inloop.viewmodel.sample.fragment.UserListFragment;
1111

1212

13-
public class MainActivity extends ProjectBaseActivity {
13+
public class MainActivity extends ViewModelBaseActivity {
1414

1515
@Override
1616
protected void onCreate(Bundle savedInstanceState) {
1717
super.onCreate(savedInstanceState);
18-
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
1918
setContentView(R.layout.activity_main);
2019
ButterKnife.inject(this);
2120

@@ -29,13 +28,4 @@ public Class getViewModelClass() {
2928
return null;
3029
}
3130

32-
@OnClick(R.id.button1)
33-
public void onOpenFragmentClicked() {
34-
getSupportFragmentManager().beginTransaction().replace(R.id.root_content, new EmptyFragment(), "empty-fragment").addToBackStack(null).commit();
35-
}
36-
37-
@OnClick(R.id.button2)
38-
public void closeClicked() {
39-
finish();
40-
}
4131
}

sample/src/main/java/eu/inloop/viewmodel/sample/activity/ProjectBaseActivity.java

Lines changed: 0 additions & 12 deletions
This file was deleted.

sample/src/main/java/eu/inloop/viewmodel/sample/fragment/EmptyFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package eu.inloop.viewmodel.sample.fragment;
22

3+
import android.app.Activity;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -10,7 +11,7 @@
1011
import eu.inloop.viewmodel.sample.R;
1112

1213

13-
public class EmptyFragment extends Fragment{
14+
public class EmptyFragment extends Fragment {
1415

1516
@Override
1617
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

sample/src/main/java/eu/inloop/viewmodel/sample/fragment/ProjectBaseFragment.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

sample/src/main/java/eu/inloop/viewmodel/sample/fragment/UserListFragment.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,24 @@
88
import android.widget.AdapterView;
99
import android.widget.ArrayAdapter;
1010
import android.widget.ListView;
11+
import android.widget.TextView;
1112

1213
import java.util.ArrayList;
1314
import java.util.List;
1415

1516
import butterknife.ButterKnife;
1617
import butterknife.InjectView;
18+
import eu.inloop.viewmodel.base.ViewModelBaseFragment;
1719
import eu.inloop.viewmodel.sample.R;
1820
import eu.inloop.viewmodel.sample.viewmodel.UserListViewModel;
1921
import eu.inloop.viewmodel.sample.viewmodel.view.IUserListView;
2022

21-
public class UserListFragment extends ProjectBaseFragment<IUserListView, UserListViewModel> implements IUserListView {
23+
public class UserListFragment extends ViewModelBaseFragment<IUserListView, UserListViewModel> implements IUserListView {
2224

2325
@InjectView(android.R.id.progress)
2426
View mProgressView;
27+
@InjectView(R.id.progress_text)
28+
TextView mProgressText;
2529
@InjectView(android.R.id.list)
2630
ListView mListview;
2731

@@ -43,6 +47,22 @@ public Class<UserListViewModel> getViewModelClass() {
4347
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
4448
final View view = inflater.inflate(R.layout.fragment_userlist, container, false);
4549
ButterKnife.inject(this, view);
50+
51+
final View headerView = inflater.inflate(R.layout.view_header_info, null, false);
52+
headerView.findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
53+
@Override
54+
public void onClick(View view) {
55+
getFragmentManager().beginTransaction().replace(R.id.root_content, new EmptyFragment(), "empty-fragment").addToBackStack(null).commit();
56+
}
57+
});
58+
headerView.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
59+
@Override
60+
public void onClick(View view) {
61+
getActivity().finish();
62+
getActivity().startActivity(getActivity().getIntent());
63+
}
64+
});
65+
mListview.addHeaderView(headerView, null, false);
4666
return view;
4767
}
4868

@@ -53,25 +73,20 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
5373
mListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
5474
@Override
5575
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
56-
getViewModel().deleteUser(i);
76+
getViewModel().deleteUser(i - mListview.getHeaderViewsCount());
5777
}
5878
});
5979
}
6080

6181
@Override
62-
public void setUsers(List<String> users) {
82+
public void showUsers(List<String> users) {
6383
mAdapter.setNotifyOnChange(false);
6484
mAdapter.clear();
6585
mAdapter.addAll(users);
6686
mAdapter.setNotifyOnChange(true);
6787
mAdapter.notifyDataSetChanged();
6888
}
69-
70-
@Override
71-
public void showIntermediateProgress(boolean show) {
72-
getActivity().setProgressBarIndeterminateVisibility(show);
73-
}
74-
89+
7590
@Override
7691
public void onStop() {
7792
super.onStop();
@@ -88,8 +103,9 @@ public void onDestroyView() {
88103
}
89104

90105
@Override
91-
public void showLoading() {
106+
public void showLoading(float progress) {
92107
mProgressView.setVisibility(View.VISIBLE);
108+
mProgressText.setText((int)(progress * 100) + "%");
93109
}
94110

95111
@Override

0 commit comments

Comments
 (0)