Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
android-mvp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Marcus Sales
android-mvp
Commits
9126897d
Commit
9126897d
authored
Sep 29, 2017
by
Marcus Sales
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Todas as dependências removidas
parent
14c6540a
Changes
31
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
34 additions
and
803 deletions
+34
-803
build.gradle
app/build.gradle
+0
-43
MvpApp.java
app/src/main/java/br/com/evologica/mvp/MvpApp.java
+5
-22
AppDataManager.java
...c/main/java/br/com/evologica/mvp/data/AppDataManager.java
+5
-20
DataManager.java
app/src/main/java/br/com/evologica/mvp/data/DataManager.java
+0
-3
AppPreferencesHelper.java
...br/com/evologica/mvp/data/prefs/AppPreferencesHelper.java
+1
-10
ActivityContext.java
...rc/main/java/br/com/evologica/mvp/di/ActivityContext.java
+0
-15
ApiInfo.java
app/src/main/java/br/com/evologica/mvp/di/ApiInfo.java
+0
-15
ApplicationContext.java
...main/java/br/com/evologica/mvp/di/ApplicationContext.java
+0
-15
DatabaseInfo.java
app/src/main/java/br/com/evologica/mvp/di/DatabaseInfo.java
+0
-15
PerActivity.java
app/src/main/java/br/com/evologica/mvp/di/PerActivity.java
+0
-16
PreferenceInfo.java
...src/main/java/br/com/evologica/mvp/di/PreferenceInfo.java
+0
-16
ActivityComponent.java
.../br/com/evologica/mvp/di/component/ActivityComponent.java
+0
-23
ApplicationComponent.java
.../com/evologica/mvp/di/component/ApplicationComponent.java
+0
-31
ActivityModule.java
...n/java/br/com/evologica/mvp/di/module/ActivityModule.java
+0
-67
ApplicationModule.java
...ava/br/com/evologica/mvp/di/module/ApplicationModule.java
+0
-78
BaseActivity.java
.../main/java/br/com/evologica/mvp/ui/base/BaseActivity.java
+0
-103
BaseFragment.java
.../main/java/br/com/evologica/mvp/ui/base/BaseFragment.java
+0
-38
BasePresenter.java
...main/java/br/com/evologica/mvp/ui/base/BasePresenter.java
+1
-12
MvpView.java
app/src/main/java/br/com/evologica/mvp/ui/base/MvpView.java
+0
-8
LoginActivity.java
...ain/java/br/com/evologica/mvp/ui/login/LoginActivity.java
+4
-27
LoginMvpPresenter.java
...java/br/com/evologica/mvp/ui/login/LoginMvpPresenter.java
+0
-2
LoginPresenter.java
...in/java/br/com/evologica/mvp/ui/login/LoginPresenter.java
+3
-27
MainActivity.java
.../main/java/br/com/evologica/mvp/ui/main/MainActivity.java
+4
-23
MainMvpPresenter.java
...n/java/br/com/evologica/mvp/ui/main/MainMvpPresenter.java
+0
-2
MainPresenter.java
...main/java/br/com/evologica/mvp/ui/main/MainPresenter.java
+2
-65
SplashActivity.java
...n/java/br/com/evologica/mvp/ui/splash/SplashActivity.java
+4
-8
SplashMvpPresenter.java
...va/br/com/evologica/mvp/ui/splash/SplashMvpPresenter.java
+0
-2
SplashPresenter.java
.../java/br/com/evologica/mvp/ui/splash/SplashPresenter.java
+2
-6
activity_login.xml
app/src/main/res/layout/activity_login.xml
+0
-26
styles.xml
app/src/main/res/values/styles.xml
+0
-41
build.gradle
build.gradle
+3
-24
No files found.
app/build.gradle
View file @
9126897d
apply
plugin:
'com.android.application'
apply
plugin:
'com.jakewharton.butterknife'
apply
plugin:
'me.tatarka.retrolambda'
android
{
...
...
@@ -36,55 +35,13 @@ dependencies {
compile
"com.android.support:support-vector-drawable:$rootProject.supportLibraryVersion"
compile
"com.android.support:animated-vector-drawable:$rootProject.supportLibraryVersion"
compile
"br.com.evologica:curio-java:$rootProject.curioJavaVersion"
// font
compile
"uk.co.chrisjenx:calligraphy:$rootProject.calligraphyVersion"
// // network
// compile "com.amitshekhar.android:rx2-android-networking:$rootProject.rx2AndroidNetworking"
// compile "com.google.code.gson:gson:$rootProject.gsonVersion"
//
// // database
// compile "org.greenrobot:greendao:$rootProject.greenDaoVersion"
// debugCompile "com.amitshekhar.android:debug-db:$rootProject.debugDBVersion"
//
// dependency injection
compile
"com.google.dagger:dagger:$rootProject.dagger2Version"
annotationProcessor
"com.google.dagger:dagger-compiler:$rootProject.dagger2Version"
provided
'javax.annotation:jsr250-api:1.0'
compile
'javax.inject:javax.inject:1'
//
// // reactive
compile
"io.reactivex.rxjava2:rxjava:$rootProject.rxjava2Version"
compile
"io.reactivex.rxjava2:rxandroid:$rootProject.rxandroidVersion"
//
// // code generator for view
compile
"com.jakewharton:butterknife:$rootProject.butterKnifeVersion"
annotationProcessor
"com.jakewharton:butterknife-compiler:$rootProject.butterKnifeVersion"
//
// // swipe view
// compile "com.mindorks:placeholderview:$rootProject.placeholderviewVersion"
//
// // logger
// compile "com.jakewharton.timber:timber:$rootProject.timberVersion"
//
// dependencies for local unit tests
testCompile
"junit:junit:$rootProject.ext.junitVersion"
testCompile
"org.mockito:mockito-core:$rootProject.mockitoVersion"
testAnnotationProcessor
"com.google.dagger:dagger-compiler:$rootProject.dagger2Version"
//
// UI Testing
androidTestCompile
"com.android.support:support-annotations:$rootProject.supportLibraryVersion"
androidTestCompile
"com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion"
androidTestCompile
"com.android.support.test.espresso:espresso-intents:$rootProject.espressoVersion"
androidTestCompile
"org.mockito:mockito-core:$rootProject.mockitoVersion"
androidTestAnnotationProcessor
"com.google.dagger:dagger-compiler:$rootProject.dagger2Version"
/* androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'*/
}
app/src/main/java/br/com/evologica/mvp/MvpApp.java
View file @
9126897d
...
...
@@ -2,13 +2,8 @@ package br.com.evologica.mvp;
import
android.app.Application
;
import
javax.inject.Inject
;
import
br.com.evologica.mvp.data.AppDataManager
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.di.component.ApplicationComponent
;
import
br.com.evologica.mvp.di.component.DaggerApplicationComponent
;
import
br.com.evologica.mvp.di.module.ApplicationModule
;
import
uk.co.chrisjenx.calligraphy.CalligraphyConfig
;
/**
* Created by marcussales on 01/03/2017.
...
...
@@ -16,29 +11,17 @@ import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
public
class
MvpApp
extends
Application
{
@Inject
DataManager
mDataManager
;
@Inject
CalligraphyConfig
mCalligraphyConfig
;
private
ApplicationComponent
mApplicationComponent
;
private
DataManager
mDataManager
;
@Override
public
void
onCreate
()
{
super
.
onCreate
();
//AppDataManager.initInstance(this);
mApplicationComponent
=
DaggerApplicationComponent
.
builder
()
.
applicationModule
(
new
ApplicationModule
(
this
)).
build
();
mApplicationComponent
.
inject
(
this
);
mDataManager
=
new
AppDataManager
(
this
);
CalligraphyConfig
.
initDefault
(
mCalligraphyConfig
);
}
public
ApplicationComponent
getComponent
()
{
return
m
ApplicationComponent
;
public
DataManager
getDataManager
()
{
return
m
DataManager
;
}
}
app/src/main/java/br/com/evologica/mvp/data/AppDataManager.java
View file @
9126897d
...
...
@@ -2,39 +2,24 @@ package br.com.evologica.mvp.data;
import
android.content.Context
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
br.com.evologica.curio.Service
;
import
br.com.evologica.mvp.data.prefs.AppPreferencesHelper
;
import
br.com.evologica.mvp.data.prefs.PreferencesHelper
;
import
br.com.evologica.mvp.
di.ApplicationContext
;
import
br.com.evologica.mvp.
utils.AppConstants
;
/**
* Created by marcussales on 01/03/2017.
*/
@Singleton
public
class
AppDataManager
implements
DataManager
{
private
static
final
String
TAG
=
"AppDataManager"
;
private
final
Context
mContext
;
private
final
PreferencesHelper
mPreferencesHelper
;
private
final
Service
mService
;
private
PreferencesHelper
mPreferencesHelper
;
@Inject
public
AppDataManager
(
@ApplicationContext
Context
ctx
,
PreferencesHelper
preferencesHelper
,
Service
service
)
{
public
AppDataManager
(
Context
ctx
)
{
mContext
=
ctx
;
mPreferencesHelper
=
preferencesHelper
;
mService
=
service
;
}
@Override
public
Service
getService
()
{
return
mService
;
mPreferencesHelper
=
new
AppPreferencesHelper
(
ctx
,
AppConstants
.
PREF_NAME
);
}
@Override
...
...
app/src/main/java/br/com/evologica/mvp/data/DataManager.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
data
;
import
br.com.evologica.curio.Service
;
import
br.com.evologica.mvp.data.prefs.PreferencesHelper
;
/**
...
...
@@ -9,6 +8,4 @@ import br.com.evologica.mvp.data.prefs.PreferencesHelper;
public
interface
DataManager
extends
PreferencesHelper
{
Service
getService
();
}
app/src/main/java/br/com/evologica/mvp/data/prefs/AppPreferencesHelper.java
View file @
9126897d
...
...
@@ -3,26 +3,17 @@ package br.com.evologica.mvp.data.prefs;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
br.com.evologica.mvp.di.ApplicationContext
;
import
br.com.evologica.mvp.di.PreferenceInfo
;
/**
* Created by marcussales on 01/03/2017.
*/
@Singleton
public
class
AppPreferencesHelper
implements
PreferencesHelper
{
private
static
final
String
PREF_KEY_USER_LOGGED_IN
=
"PREF_KEY_USER_LOGGED_IN"
;
private
final
SharedPreferences
mPrefs
;
@Inject
public
AppPreferencesHelper
(
@ApplicationContext
Context
context
,
@PreferenceInfo
String
prefFileName
)
{
public
AppPreferencesHelper
(
Context
context
,
String
prefFileName
)
{
mPrefs
=
context
.
getSharedPreferences
(
prefFileName
,
Context
.
MODE_PRIVATE
);
}
...
...
app/src/main/java/br/com/evologica/mvp/di/ActivityContext.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Qualifier
;
/**
* Created by marcussales on 02/03/2017.
*/
@Qualifier
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
ActivityContext
{
}
app/src/main/java/br/com/evologica/mvp/di/ApiInfo.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Qualifier
;
/**
* Created by marcussales on 02/03/2017.
*/
@Qualifier
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
ApiInfo
{
}
app/src/main/java/br/com/evologica/mvp/di/ApplicationContext.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Qualifier
;
/**
* Created by marcussales on 02/03/2017.
*/
@Qualifier
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
ApplicationContext
{
}
app/src/main/java/br/com/evologica/mvp/di/DatabaseInfo.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Qualifier
;
/**
* Created by marcussales on 02/03/2017.
*/
@Qualifier
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
DatabaseInfo
{
}
app/src/main/java/br/com/evologica/mvp/di/PerActivity.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Scope
;
/**
* Created by marcussales on 02/03/2017.
*/
@Scope
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
PerActivity
{
}
app/src/main/java/br/com/evologica/mvp/di/PreferenceInfo.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
javax.inject.Qualifier
;
/**
* Created by marcussales on 02/03/2017.
*/
@Qualifier
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
PreferenceInfo
{
}
app/src/main/java/br/com/evologica/mvp/di/component/ActivityComponent.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
.
component
;
import
br.com.evologica.mvp.di.PerActivity
;
import
br.com.evologica.mvp.di.module.ActivityModule
;
import
br.com.evologica.mvp.ui.login.LoginActivity
;
import
br.com.evologica.mvp.ui.main.MainActivity
;
import
br.com.evologica.mvp.ui.splash.SplashActivity
;
import
dagger.Component
;
/**
* Created by marcussales on 02/03/2017.
*/
@PerActivity
@Component
(
dependencies
=
ApplicationComponent
.
class
,
modules
=
ActivityModule
.
class
)
public
interface
ActivityComponent
{
void
inject
(
MainActivity
activity
);
void
inject
(
LoginActivity
activity
);
void
inject
(
SplashActivity
activity
);
}
app/src/main/java/br/com/evologica/mvp/di/component/ApplicationComponent.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
.
component
;
import
android.app.Application
;
import
android.content.Context
;
import
javax.inject.Singleton
;
import
br.com.evologica.mvp.MvpApp
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.di.ApplicationContext
;
import
br.com.evologica.mvp.di.module.ApplicationModule
;
import
dagger.Component
;
/**
* Created by marcussales on 02/03/2017.
*/
@Singleton
@Component
(
modules
=
ApplicationModule
.
class
)
public
interface
ApplicationComponent
{
void
inject
(
MvpApp
app
);
@ApplicationContext
Context
context
();
Application
application
();
DataManager
getDataManager
();
}
app/src/main/java/br/com/evologica/mvp/di/module/ActivityModule.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
.
module
;
import
android.app.Activity
;
import
android.content.Context
;
import
br.com.evologica.mvp.di.ActivityContext
;
import
br.com.evologica.mvp.di.PerActivity
;
import
br.com.evologica.mvp.ui.login.LoginMvpPresenter
;
import
br.com.evologica.mvp.ui.login.LoginMvpView
;
import
br.com.evologica.mvp.ui.login.LoginPresenter
;
import
br.com.evologica.mvp.ui.main.MainMvpPresenter
;
import
br.com.evologica.mvp.ui.main.MainMvpView
;
import
br.com.evologica.mvp.ui.main.MainPresenter
;
import
br.com.evologica.mvp.ui.splash.SplashMvpPresenter
;
import
br.com.evologica.mvp.ui.splash.SplashMvpView
;
import
br.com.evologica.mvp.ui.splash.SplashPresenter
;
import
dagger.Module
;
import
dagger.Provides
;
import
io.reactivex.disposables.CompositeDisposable
;
/**
* Created by marcussales on 02/03/2017.
*/
@Module
public
class
ActivityModule
{
private
Activity
mActivity
;
public
ActivityModule
(
Activity
activity
)
{
this
.
mActivity
=
activity
;
}
@Provides
@ActivityContext
Context
provideContext
(){
return
mActivity
;
}
@Provides
Activity
provideActivity
(){
return
mActivity
;
}
@Provides
CompositeDisposable
provideCompositeDisposable
()
{
return
new
CompositeDisposable
();
}
@Provides
@PerActivity
SplashMvpPresenter
<
SplashMvpView
>
provideSplashPresenter
(
SplashPresenter
<
SplashMvpView
>
presenter
){
return
presenter
;
}
@Provides
@PerActivity
LoginMvpPresenter
<
LoginMvpView
>
provideLoginPresenter
(
LoginPresenter
<
LoginMvpView
>
presenter
){
return
presenter
;
}
@Provides
@PerActivity
MainMvpPresenter
<
MainMvpView
>
provideMainPresenter
(
MainPresenter
<
MainMvpView
>
presenter
){
return
presenter
;
}
}
app/src/main/java/br/com/evologica/mvp/di/module/ApplicationModule.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
di
.
module
;
import
android.app.Application
;
import
android.content.Context
;
import
javax.inject.Singleton
;
import
br.com.evologica.curio.Service
;
import
br.com.evologica.mvp.R
;
import
br.com.evologica.mvp.data.AppDataManager
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.data.prefs.AppPreferencesHelper
;
import
br.com.evologica.mvp.data.prefs.PreferencesHelper
;
import
br.com.evologica.mvp.di.ApplicationContext
;
import
br.com.evologica.mvp.di.PreferenceInfo
;
import
br.com.evologica.mvp.utils.AppConstants
;
import
dagger.Module
;
import
dagger.Provides
;
import
uk.co.chrisjenx.calligraphy.CalligraphyConfig
;
/**
* Created by marcussales on 02/03/2017.
*/
@Module
public
class
ApplicationModule
{
private
final
Application
mApplication
;
public
ApplicationModule
(
Application
application
)
{
mApplication
=
application
;
}
@Provides
@ApplicationContext
Context
provideContext
()
{
return
mApplication
;
}
@Provides
Application
provideApplication
()
{
return
mApplication
;
}
@Provides
@Singleton
DataManager
provideDataManager
(
AppDataManager
appDataManager
){
return
appDataManager
;
}
@Provides
@Singleton
PreferencesHelper
providePreferencesHelper
(
AppPreferencesHelper
appPreferencesHelper
){
return
appPreferencesHelper
;
}
@Provides
@PreferenceInfo
String
providePreferenceName
(){
return
AppConstants
.
PREF_NAME
;
}
@Provides
@Singleton
CalligraphyConfig
provideCalligraphyDefaultConfig
()
{
return
new
CalligraphyConfig
.
Builder
()
.
setDefaultFontPath
(
"fonts/source-sans-pro/SourceSansPro-Regular.ttf"
)
.
setFontAttrId
(
R
.
attr
.
fontPath
)
.
build
();
}
@Provides
@Singleton
Service
provideCurioService
()
{
return
new
Service
(
"CentralBonus"
,
"192.168.0.34"
,
"6161"
,
"72"
);
}
}
app/src/main/java/br/com/evologica/mvp/ui/base/BaseActivity.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
ui
.
base
;
import
android.app.ProgressDialog
;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.StringRes
;
import
android.support.design.widget.Snackbar
;
import
android.support.v4.content.ContextCompat
;
import
android.support.v7.app.AppCompatActivity
;
import
android.view.View
;
import
android.widget.TextView
;
import
br.com.evologica.mvp.MvpApp
;
import
br.com.evologica.mvp.R
;
import
br.com.evologica.mvp.di.component.ActivityComponent
;
import
br.com.evologica.mvp.di.component.DaggerActivityComponent
;
import
br.com.evologica.mvp.di.module.ActivityModule
;
import
br.com.evologica.mvp.utils.CommonUtils
;
import
uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper
;
public
class
BaseActivity
extends
AppCompatActivity
implements
MvpView
,
BaseFragment
.
Callback
{
private
ActivityComponent
mActivityComponent
;
private
ProgressDialog
mProgressDialog
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
mActivityComponent
=
DaggerActivityComponent
.
builder
()
.
activityModule
(
new
ActivityModule
(
this
))
.
applicationComponent
(((
MvpApp
)
getApplication
()).
getComponent
())
.
build
();
}
public
ActivityComponent
getActivityComponent
()
{
return
mActivityComponent
;
}
@Override
protected
void
attachBaseContext
(
Context
newBase
)
{
super
.
attachBaseContext
(
CalligraphyContextWrapper
.
wrap
(
newBase
));
}
@Override
public
void
onFragmentAttached
()
{
}
@Override
public
void
onFragmentDetached
(
String
tag
)
{
}
@Override
public
void
showLoading
()
{
hideLoading
();
mProgressDialog
=
CommonUtils
.
showLoadingDialog
(
this
);
}
@Override
public
void
hideLoading
()
{
if
(
mProgressDialog
!=
null
&&
mProgressDialog
.
isShowing
())
{
mProgressDialog
.
cancel
();
}
}
@Override
public
void
onError
(
@StringRes
int
resId
)
{
onError
(
getString
(
resId
));
}
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
}
@Override
public
void
onError
(
String
message
)
{
if
(
message
!=
null
)
{
showSnackBar
(
message
);
}
else
{
showSnackBar
(
getString
(
R
.
string
.
some_error
));
}
}
private
void
showSnackBar
(
String
message
)
{
Snackbar
snackbar
=
Snackbar
.
make
(
findViewById
(
android
.
R
.
id
.
content
),
message
,
Snackbar
.
LENGTH_SHORT
);
View
sbView
=
snackbar
.
getView
();
TextView
textView
=
(
TextView
)
sbView
.
findViewById
(
android
.
support
.
design
.
R
.
id
.
snackbar_text
);
textView
.
setTextColor
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
white
));
snackbar
.
show
();
}
}
app/src/main/java/br/com/evologica/mvp/ui/base/BaseFragment.java
deleted
100644 → 0
View file @
14c6540a
package
br
.
com
.
evologica
.
mvp
.
ui
.
base
;
import
android.support.annotation.StringRes
;
import
android.support.v4.app.Fragment
;
/**
* Created by marcussales on 01/03/2017.
*/
public
class
BaseFragment
extends
Fragment
implements
MvpView
{
@Override
public
void
showLoading
()
{
}
@Override
public
void
hideLoading
()
{
}
@Override
public
void
onError
(
@StringRes
int
resId
)
{
}
@Override
public
void
onError
(
String
message
)
{
}
public
interface
Callback
{
void
onFragmentAttached
();
void
onFragmentDetached
(
String
tag
);
}
}
app/src/main/java/br/com/evologica/mvp/ui/base/BasePresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
base
;
import
javax.inject.Inject
;
import
br.com.evologica.mvp.data.DataManager
;
import
io.reactivex.disposables.CompositeDisposable
;
public
class
BasePresenter
<
V
extends
MvpView
>
implements
MvpPresenter
<
V
>
{
private
V
mMvpView
;
private
final
DataManager
mDataManager
;
private
final
CompositeDisposable
mCompositeDisposable
;
@Inject
public
BasePresenter
(
DataManager
mDataManager
,
CompositeDisposable
mCompositeDisposable
)
{
public
BasePresenter
(
DataManager
mDataManager
)
{
this
.
mDataManager
=
mDataManager
;
this
.
mCompositeDisposable
=
mCompositeDisposable
;
}
public
V
getMvpView
()
{
...
...
@@ -29,7 +23,6 @@ public class BasePresenter<V extends MvpView> implements MvpPresenter<V> {
@Override
public
void
onDetach
()
{
mCompositeDisposable
.
dispose
();
mMvpView
=
null
;
}
...
...
@@ -41,8 +34,4 @@ public class BasePresenter<V extends MvpView> implements MvpPresenter<V> {
return
mDataManager
;
}
public
CompositeDisposable
getCompositeDisposable
()
{
return
mCompositeDisposable
;
}
}
app/src/main/java/br/com/evologica/mvp/ui/base/MvpView.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
base
;
import
android.support.annotation.StringRes
;
public
interface
MvpView
{
void
showLoading
();
void
hideLoading
();
void
onError
(
@StringRes
int
resId
);
void
onError
(
String
message
);
}
app/src/main/java/br/com/evologica/mvp/ui/login/LoginActivity.java
View file @
9126897d
...
...
@@ -3,53 +3,31 @@ package br.com.evologica.mvp.ui.login;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.view.View
;
import
android.widget.EditText
;
import
javax.inject.Inject
;
import
android.support.v7.app.AppCompatActivity
;
import
br.com.evologica.mvp.MvpApp
;
import
br.com.evologica.mvp.R
;
import
br.com.evologica.mvp.ui.base.BaseActivity
;
import
br.com.evologica.mvp.ui.main.MainActivity
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
/**
* Created by marcussales on 01/03/2017.
*/
public
class
LoginActivity
extends
Base
Activity
implements
LoginMvpView
{
public
class
LoginActivity
extends
AppCompat
Activity
implements
LoginMvpView
{
private
static
final
String
TAG
=
"LoginActivity"
;
@Inject
LoginMvpPresenter
<
LoginMvpView
>
mPresenter
;
@BindView
(
R
.
id
.
et_email
)
EditText
mEmailEditText
;
@BindView
(
R
.
id
.
et_password
)
EditText
mPasswordEditText
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_login
);
getActivityComponent
().
inject
(
this
);
ButterKnife
.
bind
(
this
);
mPresenter
=
new
LoginPresenter
<>(((
MvpApp
)
getApplicationContext
()).
getDataManager
());
mPresenter
.
onAttach
(
LoginActivity
.
this
);
}
@OnClick
(
R
.
id
.
btn_login
)
void
onLogin
(
View
v
)
{
mPresenter
.
onLogin
(
mEmailEditText
.
getText
().
toString
(),
mPasswordEditText
.
getText
().
toString
());
}
@Override
public
void
openMainActivity
()
{
Intent
intent
=
new
Intent
(
this
,
MainActivity
.
class
);
...
...
@@ -63,5 +41,4 @@ public class LoginActivity extends BaseActivity implements LoginMvpView {
super
.
onDestroy
();
}
}
app/src/main/java/br/com/evologica/mvp/ui/login/LoginMvpPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
login
;
import
br.com.evologica.mvp.di.PerActivity
;
import
br.com.evologica.mvp.ui.base.MvpPresenter
;
/**
* Created by marcussales on 01/03/2017.
*/
@PerActivity
public
interface
LoginMvpPresenter
<
V
extends
LoginMvpView
>
extends
MvpPresenter
<
V
>
{
void
onLogin
(
String
email
,
String
password
);
...
...
app/src/main/java/br/com/evologica/mvp/ui/login/LoginPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
login
;
import
javax.inject.Inject
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.ui.base.BasePresenter
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.disposables.CompositeDisposable
;
import
io.reactivex.schedulers.Schedulers
;
/**
* Created by marcussales on 01/03/2017.
...
...
@@ -16,31 +11,12 @@ public class LoginPresenter<V extends LoginMvpView> extends BasePresenter<V> imp
private
static
final
String
TAG
=
"LoginPresenter"
;
@Inject
public
LoginPresenter
(
DataManager
dataManager
,
CompositeDisposable
compositeDisposable
)
{
super
(
dataManager
,
compositeDisposable
);
public
LoginPresenter
(
DataManager
dataManager
)
{
super
(
dataManager
);
}
@Override
public
void
onLogin
(
String
email
,
String
password
)
{
getMvpView
().
showLoading
();
getCompositeDisposable
().
add
(
getDataManager
().
getService
().
openSession
(
email
,
password
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
session
->
{
getDataManager
().
setLoggedIn
();
getMvpView
().
openMainActivity
();
getMvpView
().
hideLoading
();
},
err
->
{
getDataManager
().
setLoggedOut
();
getMvpView
().
onError
(
err
.
getMessage
());
getMvpView
().
hideLoading
();
}
)
);
}
}
\ No newline at end of file
app/src/main/java/br/com/evologica/mvp/ui/main/MainActivity.java
View file @
9126897d
...
...
@@ -3,48 +3,29 @@ package br.com.evologica.mvp.ui.main;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.view.View
;
import
android.widget.Button
;
import
javax.inject.Inject
;
import
android.support.v7.app.AppCompatActivity
;
import
br.com.evologica.mvp.MvpApp
;
import
br.com.evologica.mvp.R
;
import
br.com.evologica.mvp.ui.base.BaseActivity
;
import
br.com.evologica.mvp.ui.login.LoginActivity
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
/**
* Created by marcussales on 01/03/2017.
*/
public
class
MainActivity
extends
Base
Activity
implements
MainMvpView
{
public
class
MainActivity
extends
AppCompat
Activity
implements
MainMvpView
{
@Inject
MainMvpPresenter
<
MainMvpView
>
mPresenter
;
@BindView
(
R
.
id
.
logout_button
)
Button
mLogoutButton
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_main
);
getActivityComponent
().
inject
(
this
);
ButterKnife
.
bind
(
this
);
mPresenter
=
new
MainPresenter
<>(((
MvpApp
)
getApplicationContext
()).
getDataManager
());
mPresenter
.
onAttach
(
MainActivity
.
this
);
}
@OnClick
(
R
.
id
.
logout_button
)
void
onLogout
(
View
v
)
{
mPresenter
.
onLogout
();
}
@Override
public
void
openLoginActivity
()
{
Intent
intent
=
new
Intent
(
this
,
LoginActivity
.
class
);
...
...
app/src/main/java/br/com/evologica/mvp/ui/main/MainMvpPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
main
;
import
br.com.evologica.mvp.di.PerActivity
;
import
br.com.evologica.mvp.ui.base.MvpPresenter
;
import
br.com.evologica.mvp.ui.base.MvpView
;
...
...
@@ -8,7 +7,6 @@ import br.com.evologica.mvp.ui.base.MvpView;
* Created by marcussales on 01/03/2017.
*/
@PerActivity
public
interface
MainMvpPresenter
<
V
extends
MvpView
>
extends
MvpPresenter
<
V
>
{
void
onLogout
();
...
...
app/src/main/java/br/com/evologica/mvp/ui/main/MainPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
main
;
import
javax.inject.Inject
;
import
br.com.evologica.curio.CurioRequest
;
import
br.com.evologica.curio.UseCase
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.ui.base.BasePresenter
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.disposables.CompositeDisposable
;
import
io.reactivex.functions.Function
;
import
io.reactivex.schedulers.Schedulers
;
public
class
MainPresenter
<
V
extends
MainMvpView
>
extends
BasePresenter
<
V
>
implements
MainMvpPresenter
<
V
>
{
@Inject
public
MainPresenter
(
DataManager
dataManager
,
CompositeDisposable
compositeDisposable
)
{
super
(
dataManager
,
compositeDisposable
);
public
MainPresenter
(
DataManager
dataManager
)
{
super
(
dataManager
);
}
@Override
public
void
onAttach
(
V
mvpView
)
{
super
.
onAttach
(
mvpView
);
getMvpView
().
showLoading
();
getCompositeDisposable
().
add
(
getDataManager
().
getService
().
openUseCase
(
"3034"
,
"ConsultarEventos"
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
uc
->
{
System
.
out
.
println
(
"UC Opened"
);
CurioRequest
request
=
uc
.
newRequest
(
"RM_BUSCAR_EVENTOS"
);
request
.
getMessage
().
getRootField
().
addField
(
"Evento"
);
request
.
post
()
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
req
->
{
System
.
out
.
println
(
"SUCCESS: "
+
req
.
getResponse
().
getRootField
().
getXMLString
());
},
err
->
{
System
.
out
.
println
(
err
.
getMessage
());
},
getMvpView
()::
hideLoading
);
},
err
->
{
getDataManager
().
setLoggedOut
();
getMvpView
().
openLoginActivity
();
System
.
out
.
println
(
err
.
getMessage
());
getMvpView
().
hideLoading
();
}
)
);
}
@Override
public
void
onLogout
()
{
getMvpView
().
showLoading
();
getCompositeDisposable
().
add
(
getDataManager
().
getService
().
closeSession
()
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
result
->
{
getDataManager
().
setLoggedOut
();
getMvpView
().
openLoginActivity
();
},
err
->
{
getDataManager
().
setLoggedOut
();
getMvpView
().
openLoginActivity
();
System
.
out
.
println
(
err
.
toString
());
},
getMvpView
()::
hideLoading
)
);
}
}
app/src/main/java/br/com/evologica/mvp/ui/splash/SplashActivity.java
View file @
9126897d
...
...
@@ -3,26 +3,22 @@ package br.com.evologica.mvp.ui.splash;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.v7.app.AppCompatActivity
;
import
javax.inject.Inject
;
import
br.com.evologica.mvp.MvpApp
;
import
br.com.evologica.mvp.R
;
import
br.com.evologica.mvp.ui.base.BaseActivity
;
import
br.com.evologica.mvp.ui.login.LoginActivity
;
import
br.com.evologica.mvp.ui.main.MainActivity
;
import
butterknife.ButterKnife
;
public
class
SplashActivity
extends
Base
Activity
implements
SplashMvpView
{
public
class
SplashActivity
extends
AppCompat
Activity
implements
SplashMvpView
{
@Inject
SplashMvpPresenter
<
SplashMvpView
>
mPresenter
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_splash
);
getActivityComponent
().
inject
(
this
);
ButterKnife
.
bind
(
this
);
mPresenter
=
new
SplashPresenter
<>(((
MvpApp
)
getApplicationContext
()).
getDataManager
());
mPresenter
.
onAttach
(
SplashActivity
.
this
);
}
...
...
app/src/main/java/br/com/evologica/mvp/ui/splash/SplashMvpPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
splash
;
import
br.com.evologica.mvp.di.PerActivity
;
import
br.com.evologica.mvp.ui.base.MvpPresenter
;
import
br.com.evologica.mvp.ui.base.MvpView
;
...
...
@@ -8,6 +7,5 @@ import br.com.evologica.mvp.ui.base.MvpView;
* Created by marcussales on 01/03/2017.
*/
@PerActivity
public
interface
SplashMvpPresenter
<
V
extends
MvpView
>
extends
MvpPresenter
<
V
>
{
}
app/src/main/java/br/com/evologica/mvp/ui/splash/SplashPresenter.java
View file @
9126897d
package
br
.
com
.
evologica
.
mvp
.
ui
.
splash
;
import
javax.inject.Inject
;
import
br.com.evologica.mvp.data.DataManager
;
import
br.com.evologica.mvp.ui.base.BasePresenter
;
import
io.reactivex.disposables.CompositeDisposable
;
public
class
SplashPresenter
<
V
extends
SplashMvpView
>
extends
BasePresenter
<
V
>
implements
SplashMvpPresenter
<
V
>
{
@Inject
public
SplashPresenter
(
DataManager
dataManager
,
CompositeDisposable
compositeDisposable
)
{
super
(
dataManager
,
compositeDisposable
);
public
SplashPresenter
(
DataManager
mDataManager
)
{
super
(
mDataManager
);
}
@Override
...
...
app/src/main/res/layout/activity_login.xml
View file @
9126897d
...
...
@@ -31,7 +31,6 @@
app:cardElevation=
"16dp"
>
<TextView
style=
"@style/TextStyle.Heading"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center|top"
...
...
@@ -95,31 +94,6 @@
android:text=
"@string/login"
android:textSize=
"18dp"
/>
</LinearLayout>
<!--<LinearLayout-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="bottom|center"-->
<!--android:layout_marginBottom="40dp"-->
<!--android:orientation="horizontal">-->
<!--<ImageButton-->
<!--android:id="@+id/ib_google_login"-->
<!--android:layout_width="40dp"-->
<!--android:layout_height="40dp"-->
<!--android:background="@color/transparent"-->
<!--android:scaleType="centerCrop"-->
<!--app:srcCompat="@drawable/ic_google_plus" />-->
<!--<ImageButton-->
<!--android:id="@+id/ib_fb_login"-->
<!--android:layout_width="40dp"-->
<!--android:layout_height="40dp"-->
<!--android:layout_marginLeft="24dp"-->
<!--android:background="@color/transparent"-->
<!--android:scaleType="centerCrop"-->
<!--app:srcCompat="@drawable/ic_facebook" />-->
<!--</LinearLayout>-->
</android.support.v7.widget.CardView>
</RelativeLayout>
app/src/main/res/values/styles.xml
View file @
9126897d
...
...
@@ -28,7 +28,6 @@
<item
name=
"android:textSize"
>
16sp
</item>
<item
name=
"android:typeface"
>
sans
</item>
<item
name=
"drawerArrowStyle"
>
@style/MaterialDrawer.DrawerArrowStyle
</item>
<item
name=
"android:textAppearance"
>
@style/TextAppearance.Text.Regular
</item>
</style>
<style
name=
"AppThemeFullScreen"
parent=
"AppTheme"
>
...
...
@@ -42,22 +41,6 @@
<item
name=
"color"
>
@color/white
</item>
</style>
<style
name=
"TextAppearance.Text.Regular"
parent=
"android:TextAppearance"
>
<item
name=
"fontPath"
>
fonts/source-sans-pro/SourceSansPro-Regular.ttf
</item>
</style>
<style
name=
"TextAppearance.Text.Bold"
parent=
"android:TextAppearance"
>
<item
name=
"fontPath"
>
fonts/source-sans-pro/SourceSansPro-Bold.ttf
</item>
</style>
<style
name=
"TextAppearance.Text.Light"
parent=
"android:TextAppearance"
>
<item
name=
"fontPath"
>
fonts/source-sans-pro/SourceSansPro-Light.ttf
</item>
</style>
<style
name=
"TextAppearance.Text.Italic"
parent=
"android:TextAppearance"
>
<item
name=
"fontPath"
>
fonts/source-sans-pro/SourceSansPro-Italic.ttf
</item>
</style>
<style
name=
"TextStyle"
>
<item
name=
"android:layout_marginTop"
>
2dp
</item>
<item
name=
"android:layout_marginBottom"
>
2dp
</item>
...
...
@@ -66,25 +49,6 @@
<item
name=
"android:textColor"
>
@color/teal_dark
</item>
</style>
<style
name=
"TextStyle.Title"
parent=
"TextStyle"
>
<item
name=
"android:textAppearance"
>
@style/TextAppearance.Text.Regular
</item>
</style>
<style
name=
"TextStyle.Title.Sub"
parent=
"TextStyle.Title"
>
<item
name=
"android:textAppearance"
>
@style/TextAppearance.Text.Light
</item>
<item
name=
"android:textSize"
>
14sp
</item>
</style>
<style
name=
"TextStyle.Heading"
parent=
"TextStyle"
>
<item
name=
"android:textSize"
>
16sp
</item>
<item
name=
"android:textAppearance"
>
@style/TextAppearance.Text.Bold
</item>
</style>
<style
name=
"TextStyle.Comment"
parent=
"TextStyle"
>
<item
name=
"android:textSize"
>
16sp
</item>
<item
name=
"android:textAppearance"
>
@style/TextAppearance.Text.Italic
</item>
</style>
<style
name=
"TextStyle.Edit"
parent=
"TextStyle"
>
<item
name=
"colorControlActivated"
>
@color/teal
</item>
...
...
@@ -96,11 +60,6 @@
<item
name=
"android:minHeight"
>
?attr/actionBarSize
</item>
</style>
<style
name=
"Toolbar.TitleText"
parent=
"TextStyle.Heading"
>
<item
name=
"android:textColor"
>
@color/dark_gray
</item>
<item
name=
"android:textSize"
>
22sp
</item>
</style>
<style
name=
"Button"
parent=
"Widget.AppCompat.Button"
>
<item
name=
"android:textColor"
>
@color/black_effective
</item>
<item
name=
"android:layout_height"
>
48dp
</item>
...
...
build.gradle
View file @
9126897d
...
...
@@ -5,21 +5,17 @@ buildscript {
jcenter
()
}
dependencies
{
classpath
'com.android.tools.build:gradle:2.3.
0
'
classpath
'com.android.tools.build:gradle:2.3.
3
'
classpath
'me.tatarka:gradle-retrolambda:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath
'com.jakewharton:butterknife-gradle-plugin:8.5.1'
}
}
allprojects
{
repositories
{
jcenter
()
maven
{
url
'http://nexus.conexops.com.br/repository/maven-releases/'
}
}
}
...
...
@@ -33,26 +29,9 @@ ext {
minSdkVersion
=
18
targetSdkVersion
=
25
compileSdkVersion
=
25
buildToolsVersion
=
'25.0.2'
curioJavaVersion
=
'0.4.2'
buildToolsVersion
=
'25.0.3'
// App dependencies
supportLibraryVersion
=
'25.2.0'
//gsonVersion = '2.8.0'
calligraphyVersion
=
'2.2.0'
//rx2AndroidNetworking = '0.0.1'
dagger2Version
=
'2.8'
rxjava2Version
=
'2.0.5'
rxandroidVersion
=
'2.0.1'
butterKnifeVersion
=
'8.5.1'
// greenDaoVersion = '3.2.0'
// placeholderviewVersion = '0.6.1'
// debugDBVersion = '1.0.0'
// timberVersion = '4.5.1'
//
supportLibraryVersion
=
'25.3.1'
//Test dependencies
junitVersion
=
'4.12'
espressoVersion
=
'2.2.2'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment