Skip to content

Commit

Permalink
[#172] Redesign List&Notes Screen
Browse files Browse the repository at this point in the history
draft...
  • Loading branch information
victorrattis committed Jun 20, 2020
1 parent 9756239 commit c30deed
Show file tree
Hide file tree
Showing 42 changed files with 874 additions and 807 deletions.
31 changes: 16 additions & 15 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ android {
flavorDimensions "server"

productFlavors {
prod {
dimension "server"
ext {
url = "http://35.237.70.49:3000"
}
resValue "string", "app_name", "Sticky Sessions"
}
// prod {
// dimension "server"
// ext {
// url = "http://35.237.70.49:3000"
// }
// resValue "string", "app_name", "Sticky Sessions"
// }
stag {
dimension "server"
applicationId = "${packageId}.stag"
Expand All @@ -69,19 +69,20 @@ android {
}
resValue "string", "app_name", "Sticky Sessions (Staging)"
}
local {
dimension "server"
applicationId = "${packageId}.local"
ext {
url = "http://localhost:3000"
}
resValue "string", "app_name", "Sticky Sessions (Local)"
}
// local {
// dimension "server"
// applicationId = "${packageId}.local"
// ext {
// url = "http://localhost:3000"
// }
// resValue "string", "app_name", "Sticky Sessions (Local)"
// }
applicationVariants.all { variant ->
def flavors = variant.productFlavors
// flavorDimensions "server" -> 0
def server = flavors[0]
variant.buildConfigField "String", "URL", "\"${server[url.name]}\""

}
}

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
android:name=".ui.meeting.MeetingActivity"
android:screenOrientation="${orientation}" />
<activity
android:name=".ui.session.SessionActivity"
android:name=".ui.notes.NotesActivity"
android:screenOrientation="${orientation}"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
import br.org.cesar.discordtime.stickysessions.injectors.components.DaggerLoginComponent;
import br.org.cesar.discordtime.stickysessions.injectors.components.DaggerMeetingComponent;
import br.org.cesar.discordtime.stickysessions.injectors.components.DaggerSessionComponent;
import br.org.cesar.discordtime.stickysessions.injectors.components.DaggerTopicNotesViewComponent;
import br.org.cesar.discordtime.stickysessions.injectors.modules.ContextModule;
import br.org.cesar.discordtime.stickysessions.ui.notes.holder.NotesViewHolder;
import br.org.cesar.discordtime.stickysessions.ui.list.ListSessionsActivity;
import br.org.cesar.discordtime.stickysessions.ui.lobby.LobbyActivity;
import br.org.cesar.discordtime.stickysessions.ui.login.LoginActivity;
import br.org.cesar.discordtime.stickysessions.ui.meeting.MeetingActivity;
import br.org.cesar.discordtime.stickysessions.ui.session.SessionActivity;
import br.org.cesar.discordtime.stickysessions.ui.notes.NotesActivity;

public class StickySessionApplication extends Application {

Expand All @@ -21,6 +23,8 @@ public class StickySessionApplication extends Application {
protected DaggerSessionComponent.Builder mSessionComponentBuilder;
protected DaggerListSessionComponent.Builder mSessionListBuilder;
protected DaggerMeetingComponent.Builder mMeetingComponentBuilder;
protected DaggerTopicNotesViewComponent.Builder mTopicNotesViewBuilder;


@Override
public void onCreate() {
Expand All @@ -30,6 +34,7 @@ public void onCreate() {
configureSessionInjectorBuilder();
configureSessionListInjectorBuilder();
configureMeetingInjectorBuilder();
configureTopicNotesViewBuilder();
}

protected void configureLoginInjectorBuilder() {
Expand All @@ -56,6 +61,11 @@ protected void configureMeetingInjectorBuilder() {
.contextModule(new ContextModule(getApplicationContext()));
}

protected void configureTopicNotesViewBuilder() {
mTopicNotesViewBuilder = DaggerTopicNotesViewComponent.builder()
.contextModule(new ContextModule(getApplicationContext()));
}

public void inject(LoginActivity activity) {
mLoginComponentBuilder.build().inject(activity);
}
Expand All @@ -64,7 +74,7 @@ public void inject(LobbyActivity activity) {
mLobbyComponentBuilder.build().inject(activity);
}

public void inject(SessionActivity activity) {
public void inject(NotesActivity activity) {
mSessionComponentBuilder.build().inject(activity);
}

Expand All @@ -76,4 +86,7 @@ public void inject(MeetingActivity activity) {
mMeetingComponentBuilder.build().inject(activity);
}

public void inject(final NotesViewHolder topicNotesView) {
mTopicNotesViewBuilder.build().inject(topicNotesView);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.ArrayList;
import java.util.List;

import br.org.cesar.discordtime.stickysessions.BuildConfig;
import br.org.cesar.discordtime.stickysessions.data.remote.model.NoteRemote;
import br.org.cesar.discordtime.stickysessions.data.remote.service.NoteService;
import br.org.cesar.discordtime.stickysessions.data.repository.mapper.Mapper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package br.org.cesar.discordtime.stickysessions.domain.interactor;

import android.util.Log;

import javax.inject.Singleton;

import br.org.cesar.discordtime.stickysessions.domain.model.Note;
import br.org.cesar.discordtime.stickysessions.domain.repository.NoteRepository;
import br.org.cesar.discordtime.stickysessions.domain.repository.SessionRepository;
Expand All @@ -11,6 +15,7 @@ public class AddNote extends UseCase<Note, Note> {
private final SessionRepository mSessionRepository;

public AddNote(NoteRepository noteRepository, SessionRepository sessionRepository) {
Log.d("devlog", "create AddNote");
mNoteRepository = noteRepository;
mSessionRepository = sessionRepository;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package br.org.cesar.discordtime.stickysessions.domain.model;

import java.util.List;

public interface ISessionDetail {
String getId();
String getName();
List<String> getTopics();
String getCreatedAt();
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import java.util.List;
import java.util.Locale;

public class Session {
public class Session implements ISessionDetail {
public String id;
public List<String> topics = null;
public String createdAt;
Expand Down Expand Up @@ -42,4 +42,25 @@ public int getDay() {
}
return 1;
}

@Override
public String getId() {
return id;
}

@Override
public String getName() {
// TODO: Get the session name
return (topics.size() == 5) ? "Starfish" : "Gain & Pleasure";
}

@Override
public List<String> getTopics() {
return topics;
}

@Override
public String getCreatedAt() {
return createdAt;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import br.org.cesar.discordtime.stickysessions.injectors.modules.SessionModule
import br.org.cesar.discordtime.stickysessions.injectors.modules.SessionPresenterModule
import br.org.cesar.discordtime.stickysessions.injectors.modules.ThreadModule
import br.org.cesar.discordtime.stickysessions.injectors.modules.UserModule
import br.org.cesar.discordtime.stickysessions.ui.session.SessionActivity
import br.org.cesar.discordtime.stickysessions.ui.notes.NotesActivity
import dagger.Component

@Component(modules = [SessionPresenterModule::class, NoteModule::class, SessionModule::class, ThreadModule::class, ContextModule::class, ServerModule::class, UserModule::class, LoggerModule::class, NetworkModule::class, HttpLoggingInterceptorModule::class, HttpNetworkInterceptorModule::class, HttpModule::class, AuthModule::class])
interface SessionComponent {
fun inject(activity: SessionActivity)
fun inject(activity: NotesActivity)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package br.org.cesar.discordtime.stickysessions.injectors.components;

import br.org.cesar.discordtime.stickysessions.injectors.modules.AuthModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.ContextModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.HttpLoggingInterceptorModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.HttpModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.HttpNetworkInterceptorModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.LoggerModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.NetworkModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.NoteModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.NoteTopicPresenterModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.ServerModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.SessionModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.ThreadModule;
import br.org.cesar.discordtime.stickysessions.injectors.modules.UserModule;
import br.org.cesar.discordtime.stickysessions.ui.notes.holder.NotesViewHolder;
import dagger.Component;

@Component(
modules = {
NoteTopicPresenterModule.class,
NoteModule.class,
SessionModule.class,
ThreadModule.class,
ContextModule.class,
ServerModule.class,
UserModule.class,
LoggerModule.class,
NetworkModule.class,
HttpLoggingInterceptorModule.class,
HttpNetworkInterceptorModule.class,
HttpModule.class,
AuthModule.class
})
public interface TopicNotesViewComponent {
void inject(NotesViewHolder view);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package br.org.cesar.discordtime.stickysessions.injectors.modules;

import java.util.List;

import br.org.cesar.discordtime.stickysessions.domain.model.Note;
import br.org.cesar.discordtime.stickysessions.domain.model.NoteFilter;
import br.org.cesar.discordtime.stickysessions.executor.IObservableUseCase;
import br.org.cesar.discordtime.stickysessions.presentation.notes.NotesContract;
import br.org.cesar.discordtime.stickysessions.presentation.notes.NotesPresenter;
import dagger.Module;
import dagger.Provides;

@Module
public class NoteTopicPresenterModule {
@Provides
public NotesContract.Presenter getNoteTopicPresenter(
IObservableUseCase<Note, Note> addNote,
IObservableUseCase<Note, Boolean> removeNote,
IObservableUseCase<NoteFilter, List<Note>> listNotes) {
return new NotesPresenter(listNotes, addNote, removeNote);
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
package br.org.cesar.discordtime.stickysessions.injectors.modules;

import java.util.List;

import br.org.cesar.discordtime.stickysessions.domain.model.Note;
import br.org.cesar.discordtime.stickysessions.domain.model.NoteFilter;
import br.org.cesar.discordtime.stickysessions.domain.model.Session;
import br.org.cesar.discordtime.stickysessions.executor.IObservableUseCase;
import br.org.cesar.discordtime.stickysessions.executor.ObservableUseCase;
import br.org.cesar.discordtime.stickysessions.logger.Logger;
import br.org.cesar.discordtime.stickysessions.presentation.session.SessionContract;
import br.org.cesar.discordtime.stickysessions.presentation.session.SessionPresenter;
Expand All @@ -19,14 +14,10 @@ public class SessionPresenterModule {
@Provides
public SessionContract.Presenter providesPresenter(
IObservableUseCase<String, Session> enterSession,
IObservableUseCase<Note, Note> addNote,
IObservableUseCase<Note, Boolean> removeNote,
IObservableUseCase<NoteFilter, List<Note>> listNotes,
IObservableUseCase<Void, String> getSavedUser,
Logger logger){

return new SessionPresenter(enterSession, addNote, removeNote, listNotes,
getSavedUser, logger);
return new SessionPresenter(enterSession, getSavedUser, logger);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import br.org.cesar.discordtime.stickysessions.ui.lobby.LobbyActivity;
import br.org.cesar.discordtime.stickysessions.ui.login.LoginActivity;
import br.org.cesar.discordtime.stickysessions.ui.meeting.MeetingActivity;
import br.org.cesar.discordtime.stickysessions.ui.session.SessionActivity;
import br.org.cesar.discordtime.stickysessions.ui.notes.NotesActivity;

public class ViewStarter implements IViewStarter {

Expand All @@ -23,7 +23,7 @@ public class ViewStarter implements IViewStarter {
put(ViewNames.LOGIN_ACTIVITY, LoginActivity.class);
put(ViewNames.LOBBY_ACTIVITY, LobbyActivity.class);
put(ViewNames.MEETING_ACTIVITY, MeetingActivity.class);
put(ViewNames.SESSION_ACTIVITY, SessionActivity.class);
put(ViewNames.SESSION_ACTIVITY, NotesActivity.class);
put(ViewNames.LIST_ACTIVITY, ListSessionsActivity.class);
}};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void detachView() {

@Override
public void onLoad(String meetingId) {
mLogger.d(TAG, "onLoad list sessions ");
mLogger.d(TAG, "onLoad loadNotesForSession sessions ");

if (meetingId != null && !meetingId.isEmpty()) {
initObservers();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,13 @@ public void onError(Throwable e) {
class ListSessionObserver extends DisposableSingleObserver<Void> {
@Override
public void onSuccess(Void aVoid) {
mLog.d(TAG, "list sessions success");
mLog.d(TAG, "loadNotesForSession sessions success");
goNext(IRouter.LIST_SESSIONS);
}

@Override
public void onError(Throwable e) {
mLog.d(TAG, "list session error" + e.getLocalizedMessage());
mLog.d(TAG, "loadNotesForSession session error" + e.getLocalizedMessage());
// TODO: Pass meaningful text to view depending on error
mView.displayError("");
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package br.org.cesar.discordtime.stickysessions.presentation.notes

interface INoteTopicDetail {
fun getTopicName(): String?
fun getUserId(): String?
fun getSessionId(): String?
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package br.org.cesar.discordtime.stickysessions.presentation.notes

class NoteTopicDetail(
private val topicName: String?,
private val sessionId: String?,
private val userID: String?) : INoteTopicDetail {
override fun getTopicName() = topicName
override fun getSessionId() = sessionId
override fun getUserId() = userID
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package br.org.cesar.discordtime.stickysessions.presentation.notes

import br.org.cesar.discordtime.stickysessions.domain.model.Note

interface NotesContract {
interface Presenter {
fun attachView(view: View)
fun detachView()
fun updateData(noteTopicDetail: INoteTopicDetail?)
fun onNewNoteClick()
}

interface View {
fun displayTopicName(name: String)
fun displayNotes(notes: List<Note>)
fun displayLoading()
fun hideLoading()
fun clearNotes()
}
}

0 comments on commit c30deed

Please sign in to comment.