From 68261ec4b16227dda21bafd83913f40044daa524 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:31:11 +0900 Subject: [PATCH 01/33] WIP --- app/src/main/java/one/nem/kidshift/MainActivity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/one/nem/kidshift/MainActivity.java b/app/src/main/java/one/nem/kidshift/MainActivity.java index bacc373..9efe1af 100644 --- a/app/src/main/java/one/nem/kidshift/MainActivity.java +++ b/app/src/main/java/one/nem/kidshift/MainActivity.java @@ -67,4 +67,11 @@ public class MainActivity extends AppCompatActivity { startActivity(intent); } } + + /** + * 起動時にバックグラウンドで行う各種更新処理とか + */ + private void startup() { + + } } \ No newline at end of file -- 2.45.1 From 8b3e12a38004046cb7741fa97d53fcd1990a8591 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:31:35 +0900 Subject: [PATCH 02/33] =?UTF-8?q?KSActions=E9=9B=9B=E5=BD=A2=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/one/nem/kidshift/data/KSActions.java | 14 +++++++++++++ .../nem/kidshift/data/impl/KSActionsImpl.java | 20 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 data/src/main/java/one/nem/kidshift/data/KSActions.java create mode 100644 data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java diff --git a/data/src/main/java/one/nem/kidshift/data/KSActions.java b/data/src/main/java/one/nem/kidshift/data/KSActions.java new file mode 100644 index 0000000..51179e4 --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/KSActions.java @@ -0,0 +1,14 @@ +package one.nem.kidshift.data; + +/** + * データの同期など, UIとのやりとりがないバックエンド処理 + */ +public interface KSActions { + + void syncTasks(); + + void syncChildList(); + + void syncParent(); + +} diff --git a/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java new file mode 100644 index 0000000..44810da --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java @@ -0,0 +1,20 @@ +package one.nem.kidshift.data.impl; + +import one.nem.kidshift.data.KSActions; + +public class KSActionsImpl implements KSActions { + @Override + public void syncTasks() { + + } + + @Override + public void syncChildList() { + + } + + @Override + public void syncParent() { + + } +} -- 2.45.1 From bf627dcf062611137ce434551e2e73cf74a97739 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:32:05 +0900 Subject: [PATCH 03/33] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=A9=E3=82=AF=E3=82=BF=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/one/nem/kidshift/data/impl/KSActionsImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java index 44810da..e26c8f2 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java @@ -1,8 +1,15 @@ package one.nem.kidshift.data.impl; +import javax.inject.Inject; + import one.nem.kidshift.data.KSActions; public class KSActionsImpl implements KSActions { + + @Inject + public KSActionsImpl() { + } + @Override public void syncTasks() { -- 2.45.1 From 5d07a9dac7fe5dbbc7238c398332feaa4583f0f1 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:32:25 +0900 Subject: [PATCH 04/33] javaDoc --- data/src/main/java/one/nem/kidshift/data/KSActions.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/src/main/java/one/nem/kidshift/data/KSActions.java b/data/src/main/java/one/nem/kidshift/data/KSActions.java index 51179e4..f25a2f1 100644 --- a/data/src/main/java/one/nem/kidshift/data/KSActions.java +++ b/data/src/main/java/one/nem/kidshift/data/KSActions.java @@ -9,6 +9,9 @@ public interface KSActions { void syncChildList(); + /** + * 親ユーザー情報同期 + */ void syncParent(); } -- 2.45.1 From 2793cdc1b7c63eea577484d7c3101e2a1fa52d18 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:33:24 +0900 Subject: [PATCH 05/33] =?UTF-8?q?JavaDoc=E3=81=AE=E6=96=87=E8=A8=80?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/src/main/java/one/nem/kidshift/data/KSActions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/KSActions.java b/data/src/main/java/one/nem/kidshift/data/KSActions.java index f25a2f1..d4161ee 100644 --- a/data/src/main/java/one/nem/kidshift/data/KSActions.java +++ b/data/src/main/java/one/nem/kidshift/data/KSActions.java @@ -1,7 +1,7 @@ package one.nem.kidshift.data; /** - * データの同期など, UIとのやりとりがないバックエンド処理 + * データの同期など, ユーザーからの操作に基づかない処理を行う */ public interface KSActions { -- 2.45.1 From 3fe59f8979d0f8ad00bc2a74312eb7376eaa233e Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:37:05 +0900 Subject: [PATCH 06/33] =?UTF-8?q?Response=E3=81=AE=E5=9E=8B=E3=82=92?= =?UTF-8?q?=E5=AE=9A=E7=BE=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/parent/ParentInfoResponse.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 data/src/main/java/one/nem/kidshift/data/retrofit/model/parent/ParentInfoResponse.java diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/model/parent/ParentInfoResponse.java b/data/src/main/java/one/nem/kidshift/data/retrofit/model/parent/ParentInfoResponse.java new file mode 100644 index 0000000..425c0ba --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/model/parent/ParentInfoResponse.java @@ -0,0 +1,38 @@ +package one.nem.kidshift.data.retrofit.model.parent; + +public class ParentInfoResponse { + + private String id; + private String email; + private String displayName; + + public ParentInfoResponse(String id, String email, String displayName) { + this.id = id; + this.email = email; + this.displayName = displayName; + } + + public String getId() { + return id; + } + + public String getEmail() { + return email; + } + + public String getDisplayName() { + return displayName; + } + + public void setId(String id) { + this.id = id; + } + + public void setEmail(String email) { + this.email = email; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } +} -- 2.45.1 From 6edeb07e21027c5d1885d81d0f8b47f49c42a7d8 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:38:34 +0900 Subject: [PATCH 07/33] =?UTF-8?q?Service=E3=81=AB=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/nem/kidshift/data/retrofit/KidShiftApiService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java index c5c24d9..c7dab42 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java @@ -1,9 +1,11 @@ package one.nem.kidshift.data.retrofit; +import one.nem.kidshift.data.retrofit.model.parent.ParentInfoResponse; import one.nem.kidshift.data.retrofit.model.parent.auth.ParentLoginRequest; import one.nem.kidshift.data.retrofit.model.parent.auth.ParentLoginResponse; import retrofit2.Call; import retrofit2.http.Body; +import retrofit2.http.GET; import retrofit2.http.POST; public interface KidShiftApiService { @@ -11,4 +13,7 @@ public interface KidShiftApiService { @POST("/parent/auth/login") Call parentLogin(@Body ParentLoginRequest request); + @GET("/parent/account") + Call getParentInfo(); + } -- 2.45.1 From 4f3feff4fa16ef5a202533d96fd6ee5fcce28526 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:38:55 +0900 Subject: [PATCH 08/33] =?UTF-8?q?UserSettings=E3=82=92Inject=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/one/nem/kidshift/data/impl/KSActionsImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java index e26c8f2..b6dbc2a 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/KSActionsImpl.java @@ -3,11 +3,15 @@ package one.nem.kidshift.data.impl; import javax.inject.Inject; import one.nem.kidshift.data.KSActions; +import one.nem.kidshift.data.UserSettings; public class KSActionsImpl implements KSActions { + private UserSettings userSettings; + @Inject - public KSActionsImpl() { + public KSActionsImpl(UserSettings userSettings) { + this.userSettings = userSettings; } @Override -- 2.45.1 From 883fc88770044a7d9a4c2fc5afa6e63292cdfff5 Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 03:45:12 +0900 Subject: [PATCH 09/33] =?UTF-8?q?=E3=83=98=E3=83=83=E3=83=80=E3=83=BC?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/nem/kidshift/data/retrofit/KidShiftApiService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java index c7dab42..a4a5298 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java @@ -6,6 +6,7 @@ import one.nem.kidshift.data.retrofit.model.parent.auth.ParentLoginResponse; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; +import retrofit2.http.Header; import retrofit2.http.POST; public interface KidShiftApiService { @@ -14,6 +15,6 @@ public interface KidShiftApiService { Call parentLogin(@Body ParentLoginRequest request); @GET("/parent/account") - Call getParentInfo(); + Call getParentInfo(@Header("Authorization") String token); } -- 2.45.1 From 3f74ea2bdd1345deccf3c657c29d5509c2d94fac Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 21:47:55 +0900 Subject: [PATCH 10/33] =?UTF-8?q?Interceptor=E5=86=8D=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/retrofit/interceptor/AuthorizationInterceptor.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java new file mode 100644 index 0000000..43a5fda --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -0,0 +1,4 @@ +package one.nem.kidshift.data.retrofit.interceptor; + +public class AuthorizationInterceptor { +} -- 2.45.1 From c8fbd14e3dd0a0510a9399f77ee799b20f5dadac Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 21:52:10 +0900 Subject: [PATCH 11/33] =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC?= =?UTF-8?q?=E3=82=BB=E3=83=97=E3=82=BF=E3=83=BC=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interceptor/AuthorizationInterceptor.java | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index 43a5fda..1ce9efd 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -1,4 +1,44 @@ package one.nem.kidshift.data.retrofit.interceptor; -public class AuthorizationInterceptor { +import androidx.annotation.NonNull; + +import java.io.IOException; + +import javax.inject.Inject; + +import okhttp3.Interceptor; +import okhttp3.Response; +import one.nem.kidshift.data.UserSettings; + +public class AuthorizationInterceptor implements Interceptor { + + private static final String HEADER_NAME = "Authorization"; + private static final String HEADER_VALUE = "VALUE"; + public static final String HEADER_PLACEHOLDER = HEADER_NAME + ": " + HEADER_VALUE; + + private final UserSettings userSettings; + + @Inject + public AuthorizationInterceptor(UserSettings userSettings) { + this.userSettings = userSettings; + } + + @NonNull + @Override + public Response intercept(@NonNull Chain chain) throws IOException { + try { + if (chain.request().header(HEADER_NAME) == null) { + return chain.proceed(chain.request()); + } + if (!HEADER_VALUE.equals(chain.request().header(HEADER_NAME))) { + return chain.proceed(chain.request()); + } + + return chain.proceed(chain.request().newBuilder() + .header(HEADER_NAME, userSettings.getAppCommonSetting().getAccessToken()) + .build()); + } catch (Exception e) { + return chain.proceed(chain.request()); + } + } } -- 2.45.1 From 8a9ff6b4ee703d7fbe076dc74a290ae993f9b6ae Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 21:52:42 +0900 Subject: [PATCH 12/33] =?UTF-8?q?Module=E3=82=AF=E3=83=A9=E3=82=B9?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nem/kidshift/data/retrofit/KidShiftApiServiceModule.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java new file mode 100644 index 0000000..c65e580 --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -0,0 +1,4 @@ +package one.nem.kidshift.data.retrofit; + +public class KidShiftApiServiceModule { +} -- 2.45.1 From 34230378372f53a6b52caba08d9621ac3fb794bf Mon Sep 17 00:00:00 2001 From: rca Date: Sun, 23 Jun 2024 22:01:18 +0900 Subject: [PATCH 13/33] =?UTF-8?q?Module=E4=BB=AE=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retrofit/KidShiftApiServiceModule.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index c65e580..29d57fa 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -1,4 +1,58 @@ package one.nem.kidshift.data.retrofit; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import javax.inject.Inject; +import javax.inject.Singleton; + +import dagger.Module; +import dagger.Provides; +import dagger.hilt.InstallIn; +import dagger.hilt.components.SingletonComponent; +import okhttp3.OkHttpClient; +import one.nem.kidshift.data.UserSettings; +import one.nem.kidshift.data.retrofit.interceptor.AuthorizationInterceptor; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +@Module +@InstallIn(SingletonComponent.class) public class KidShiftApiServiceModule { + + @Inject + UserSettings userSettings; + + @Provides + @Singleton + public AuthorizationInterceptor provideAuthorizationInterceptor() { + return new AuthorizationInterceptor(userSettings); + } + + // Gson + @Provides + @Singleton + public Gson provideGson() { + return new GsonBuilder() + .create(); + } + + @Provides + @Singleton + public OkHttpClient provideOkHttpClient() { + return new OkHttpClient.Builder() + .addInterceptor(provideAuthorizationInterceptor()) + .build(); + } + + @Provides + @Singleton + public KidShiftApiService provideKidShiftApiService() { + return new Retrofit.Builder() + .baseUrl(userSettings.getApiSetting().getApiBaseUrl()) + .addConverterFactory(GsonConverterFactory.create(provideGson())) + .client(provideOkHttpClient()) + .build() + .create(KidShiftApiService.class); + } } -- 2.45.1 From e0c01dc651e0ba675f310f8ca57d2fc58ed2e939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:30:36 +0900 Subject: [PATCH 14/33] =?UTF-8?q?Header=E3=81=ABplaceholder=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/nem/kidshift/data/retrofit/KidShiftApiService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java index a4a5298..c075559 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiService.java @@ -1,5 +1,6 @@ package one.nem.kidshift.data.retrofit; +import one.nem.kidshift.data.retrofit.interceptor.AuthorizationInterceptor; import one.nem.kidshift.data.retrofit.model.parent.ParentInfoResponse; import one.nem.kidshift.data.retrofit.model.parent.auth.ParentLoginRequest; import one.nem.kidshift.data.retrofit.model.parent.auth.ParentLoginResponse; @@ -7,6 +8,7 @@ import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; import retrofit2.http.Header; +import retrofit2.http.Headers; import retrofit2.http.POST; public interface KidShiftApiService { @@ -15,6 +17,7 @@ public interface KidShiftApiService { Call parentLogin(@Body ParentLoginRequest request); @GET("/parent/account") - Call getParentInfo(@Header("Authorization") String token); + @Headers(AuthorizationInterceptor.HEADER_PLACEHOLDER) + Call getParentInfo(); } -- 2.45.1 From 02b3d39aeb102a4089f449b4f2eba2e28df20524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:30:50 +0900 Subject: [PATCH 15/33] =?UTF-8?q?=E3=83=80=E3=83=9F=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E4=BB=A3=E6=9B=BF=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kidshift/data/impl/ParentDataImpl.java | 23 +++++++++++++++++++ .../data/modules/ParentDataModule.java | 16 +++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java create mode 100644 data/src/main/java/one/nem/kidshift/data/modules/ParentDataModule.java diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java new file mode 100644 index 0000000..24bd59a --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -0,0 +1,23 @@ +package one.nem.kidshift.data.impl; + +import javax.inject.Inject; + +import one.nem.kidshift.data.ParentData; +import one.nem.kidshift.model.ParentModel; + +public class ParentDataImpl implements ParentData { + + @Inject + public ParentDataImpl() { + } + + @Override + public ParentModel getParent(String parentId) { + return null; + } + + @Override + public void updateParent(ParentModel parent) { + + } +} diff --git a/data/src/main/java/one/nem/kidshift/data/modules/ParentDataModule.java b/data/src/main/java/one/nem/kidshift/data/modules/ParentDataModule.java new file mode 100644 index 0000000..6b738ae --- /dev/null +++ b/data/src/main/java/one/nem/kidshift/data/modules/ParentDataModule.java @@ -0,0 +1,16 @@ +package one.nem.kidshift.data.modules; + +import dagger.Binds; +import dagger.Module; +import dagger.hilt.InstallIn; +import dagger.hilt.android.components.FragmentComponent; +import one.nem.kidshift.data.ParentData; +import one.nem.kidshift.data.impl.ParentDataImpl; + +@Module +@InstallIn(FragmentComponent.class) +public abstract class ParentDataModule { + + @Binds + public abstract ParentData bindParentData(ParentDataImpl parentDataImpl); +} -- 2.45.1 From 217096e431832236b0523274e4b919d88575436e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:31:41 +0900 Subject: [PATCH 16/33] =?UTF-8?q?=E3=83=80=E3=83=9F=E3=83=BC=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/impl/ParentDataDummyImpl.java | 23 ------------------- .../data/modules/ParentDataDummyModule.java | 16 ------------- 2 files changed, 39 deletions(-) delete mode 100644 data/src/main/java/one/nem/kidshift/data/impl/ParentDataDummyImpl.java delete mode 100644 data/src/main/java/one/nem/kidshift/data/modules/ParentDataDummyModule.java diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataDummyImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataDummyImpl.java deleted file mode 100644 index 7913200..0000000 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataDummyImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package one.nem.kidshift.data.impl; - -import javax.inject.Inject; - -import one.nem.kidshift.data.ParentData; -import one.nem.kidshift.model.ParentModel; - -public class ParentDataDummyImpl implements ParentData { - - @Inject - public ParentDataDummyImpl() { - } - - @Override - public ParentModel getParent(String parentId) { - return new ParentModel("ID", "Parent Name", "homeGroupId", "hoge@example.com"); - } - - @Override - public void updateParent(ParentModel parent) { - - } -} diff --git a/data/src/main/java/one/nem/kidshift/data/modules/ParentDataDummyModule.java b/data/src/main/java/one/nem/kidshift/data/modules/ParentDataDummyModule.java deleted file mode 100644 index 149e7fe..0000000 --- a/data/src/main/java/one/nem/kidshift/data/modules/ParentDataDummyModule.java +++ /dev/null @@ -1,16 +0,0 @@ -package one.nem.kidshift.data.modules; - -import dagger.Binds; -import dagger.Module; -import dagger.hilt.InstallIn; -import dagger.hilt.android.components.FragmentComponent; -import one.nem.kidshift.data.ParentData; -import one.nem.kidshift.data.impl.ParentDataDummyImpl; - -@Module -@InstallIn(FragmentComponent.class) -abstract public class ParentDataDummyModule { - - @Binds - public abstract ParentData bindParentData(ParentDataDummyImpl parentDataDummyImpl); -} -- 2.45.1 From e9bd52b16c8bbf66aedf45c35a730d2666045564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:32:30 +0900 Subject: [PATCH 17/33] Hilt --- .../java/one/nem/kidshift/data/impl/ParentDataImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index 24bd59a..b84ebd1 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -3,12 +3,16 @@ package one.nem.kidshift.data.impl; import javax.inject.Inject; import one.nem.kidshift.data.ParentData; +import one.nem.kidshift.data.retrofit.KidShiftApiService; import one.nem.kidshift.model.ParentModel; public class ParentDataImpl implements ParentData { + private KidShiftApiService kidshiftApiService; + @Inject - public ParentDataImpl() { + public ParentDataImpl(KidShiftApiService kidshiftApiService) { + this.kidshiftApiService = kidshiftApiService; } @Override -- 2.45.1 From fe28036bb63378f58fa4c4100177397a5b4aba02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:33:34 +0900 Subject: [PATCH 18/33] =?UTF-8?q?=E6=88=BB=E3=82=8A=E5=80=A4,=20=E5=BC=95?= =?UTF-8?q?=E6=95=B0=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/src/main/java/one/nem/kidshift/data/ParentData.java | 4 +++- .../main/java/one/nem/kidshift/data/impl/ParentDataImpl.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/ParentData.java b/data/src/main/java/one/nem/kidshift/data/ParentData.java index e1653cf..528ec5a 100644 --- a/data/src/main/java/one/nem/kidshift/data/ParentData.java +++ b/data/src/main/java/one/nem/kidshift/data/ParentData.java @@ -1,5 +1,7 @@ package one.nem.kidshift.data; +import java.util.concurrent.CompletableFuture; + import one.nem.kidshift.model.ParentModel; public interface ParentData { @@ -9,7 +11,7 @@ public interface ParentData { * @param parentId 親ID * @return ParentModel 親ユーザー情報 */ - ParentModel getParent(String parentId); + CompletableFuture getParent(); /** * 親ユーザー情報更新 diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index b84ebd1..7b4b15d 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -1,5 +1,7 @@ package one.nem.kidshift.data.impl; +import java.util.concurrent.CompletableFuture; + import javax.inject.Inject; import one.nem.kidshift.data.ParentData; @@ -16,7 +18,7 @@ public class ParentDataImpl implements ParentData { } @Override - public ParentModel getParent(String parentId) { + public CompletableFuture getParent() { return null; } -- 2.45.1 From 52739915e6372e486d10f10608facc08450644a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:33:46 +0900 Subject: [PATCH 19/33] =?UTF-8?q?JavaDoc=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/src/main/java/one/nem/kidshift/data/ParentData.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/ParentData.java b/data/src/main/java/one/nem/kidshift/data/ParentData.java index 528ec5a..31d19e3 100644 --- a/data/src/main/java/one/nem/kidshift/data/ParentData.java +++ b/data/src/main/java/one/nem/kidshift/data/ParentData.java @@ -6,10 +6,10 @@ import one.nem.kidshift.model.ParentModel; public interface ParentData { + /** * 親ユーザー情報取得 - * @param parentId 親ID - * @return ParentModel 親ユーザー情報 + * @return 親ユーザー情報 */ CompletableFuture getParent(); -- 2.45.1 From a575fbe8b53d470385377d4b37f64700d8a0467e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:34:14 +0900 Subject: [PATCH 20/33] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/nem/kidshift/feature/setting/SettingMainFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java b/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java index 68271f9..5d867d5 100644 --- a/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java +++ b/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java @@ -86,7 +86,7 @@ public class SettingMainFragment extends Fragment { // Inflate the layout for this fragment //親の名前、アドレス表示 - ParentModel parent = parentData.getParent("poiuytrew"); + ParentModel parent = parentData.getParent().join(); //RecyclerViewの処理 View view = inflater.inflate(R.layout.fragment_setting_main, container, false); -- 2.45.1 From 1824af06f38832f201e8540eebbe1464fc5e367c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:49:04 +0900 Subject: [PATCH 21/33] =?UTF-8?q?=E7=A9=BA=E3=82=B3=E3=83=B3=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=83=A9=E3=82=AF=E3=82=BF=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/src/main/java/one/nem/kidshift/model/ParentModel.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/model/src/main/java/one/nem/kidshift/model/ParentModel.java b/model/src/main/java/one/nem/kidshift/model/ParentModel.java index d329881..81a7a89 100644 --- a/model/src/main/java/one/nem/kidshift/model/ParentModel.java +++ b/model/src/main/java/one/nem/kidshift/model/ParentModel.java @@ -25,6 +25,9 @@ public class ParentModel { this.displayName = displayName; } + public ParentModel() { + } + // Getter public String getInternalId() { -- 2.45.1 From 2c083009d3f66d8e617df67ed716bea740cc237d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:55:40 +0900 Subject: [PATCH 22/33] workaround --- .../nem/kidshift/data/retrofit/KidShiftApiServiceModule.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index 29d57fa..a27f420 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -49,7 +49,8 @@ public class KidShiftApiServiceModule { @Singleton public KidShiftApiService provideKidShiftApiService() { return new Retrofit.Builder() - .baseUrl(userSettings.getApiSetting().getApiBaseUrl()) +// .baseUrl(userSettings.getApiSetting().getApiBaseUrl()) + .baseUrl("https://kidshift-beta.nem.one/") .addConverterFactory(GsonConverterFactory.create(provideGson())) .client(provideOkHttpClient()) .build() -- 2.45.1 From 385537de2c89dababd9e24954c2f5244a3965c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 09:55:45 +0900 Subject: [PATCH 23/33] WIP --- .../kidshift/data/impl/ParentDataImpl.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index 7b4b15d..6badebd 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -1,12 +1,15 @@ package one.nem.kidshift.data.impl; +import java.io.IOException; import java.util.concurrent.CompletableFuture; import javax.inject.Inject; import one.nem.kidshift.data.ParentData; import one.nem.kidshift.data.retrofit.KidShiftApiService; +import one.nem.kidshift.data.retrofit.model.parent.ParentInfoResponse; import one.nem.kidshift.model.ParentModel; +import retrofit2.Call; public class ParentDataImpl implements ParentData { @@ -19,7 +22,22 @@ public class ParentDataImpl implements ParentData { @Override public CompletableFuture getParent() { - return null; + return CompletableFuture.supplyAsync(() -> { + ParentInfoResponse parentInfoResponse; + Call response = kidshiftApiService.getParentInfo(); + try { + parentInfoResponse = response.execute().body(); + ParentModel parent = new ParentModel(); + assert parentInfoResponse != null; + parent.setInternalId(parentInfoResponse.getId()); + parent.setEmail(parentInfoResponse.getEmail()); + parent.setDisplayName(parentInfoResponse.getDisplayName()); + // TODO: 他のプロパティも処理する + return parent; + } catch (IOException e) { + throw new RuntimeException(e); + } + }); } @Override -- 2.45.1 From a8bc250095e7f9a99cc8330b23a52d99922871fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:02:01 +0900 Subject: [PATCH 24/33] =?UTF-8?q?=E3=83=AD=E3=82=B0=E6=8C=BF=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kidshift/data/retrofit/KidShiftApiServiceModule.java | 6 +++++- .../retrofit/interceptor/AuthorizationInterceptor.java | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index a27f420..0db9c7d 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -13,6 +13,7 @@ import dagger.hilt.components.SingletonComponent; import okhttp3.OkHttpClient; import one.nem.kidshift.data.UserSettings; import one.nem.kidshift.data.retrofit.interceptor.AuthorizationInterceptor; +import one.nem.kidshift.utils.KSLogger; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; @@ -23,10 +24,13 @@ public class KidShiftApiServiceModule { @Inject UserSettings userSettings; + @Inject + KSLogger logger; + @Provides @Singleton public AuthorizationInterceptor provideAuthorizationInterceptor() { - return new AuthorizationInterceptor(userSettings); + return new AuthorizationInterceptor(userSettings, logger); } // Gson diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index 1ce9efd..25ad643 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -9,6 +9,7 @@ import javax.inject.Inject; import okhttp3.Interceptor; import okhttp3.Response; import one.nem.kidshift.data.UserSettings; +import one.nem.kidshift.utils.KSLogger; public class AuthorizationInterceptor implements Interceptor { @@ -17,10 +18,13 @@ public class AuthorizationInterceptor implements Interceptor { public static final String HEADER_PLACEHOLDER = HEADER_NAME + ": " + HEADER_VALUE; private final UserSettings userSettings; + private final KSLogger logger; @Inject - public AuthorizationInterceptor(UserSettings userSettings) { + public AuthorizationInterceptor(UserSettings userSettings, KSLogger logger) { this.userSettings = userSettings; + this.logger = logger; + logger.setTag("AuthorizationInterceptor") } @NonNull @@ -28,12 +32,15 @@ public class AuthorizationInterceptor implements Interceptor { public Response intercept(@NonNull Chain chain) throws IOException { try { if (chain.request().header(HEADER_NAME) == null) { + logger.debug("No Authorization header found. Skipping."); return chain.proceed(chain.request()); } if (!HEADER_VALUE.equals(chain.request().header(HEADER_NAME))) { + logger.debug("Authorization header found, but value is not expected. Skipping."); return chain.proceed(chain.request()); } + logger.debug("Authorization header found. Adding value."); return chain.proceed(chain.request().newBuilder() .header(HEADER_NAME, userSettings.getAppCommonSetting().getAccessToken()) .build()); -- 2.45.1 From ede8799019b579dc174f170c7d3ff59b39d6be39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:02:13 +0900 Subject: [PATCH 25/33] fix typo --- .../data/retrofit/interceptor/AuthorizationInterceptor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index 25ad643..07faf9b 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -24,7 +24,7 @@ public class AuthorizationInterceptor implements Interceptor { public AuthorizationInterceptor(UserSettings userSettings, KSLogger logger) { this.userSettings = userSettings; this.logger = logger; - logger.setTag("AuthorizationInterceptor") + logger.setTag("AuthorizationInterceptor"); } @NonNull -- 2.45.1 From 45534f4ce32b19eea2087de5f33327d8e3c2ec5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:27:10 +0900 Subject: [PATCH 26/33] Debug WIP --- .../kidshift/data/impl/ParentDataImpl.java | 22 +++++++--- .../retrofit/KidShiftApiServiceModule.java | 11 ++--- .../interceptor/AuthorizationInterceptor.java | 41 +++++++++++++++---- 3 files changed, 55 insertions(+), 19 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index 6badebd..b73cd45 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -1,37 +1,47 @@ package one.nem.kidshift.data.impl; +import android.util.Log; + import java.io.IOException; import java.util.concurrent.CompletableFuture; import javax.inject.Inject; import one.nem.kidshift.data.ParentData; +import one.nem.kidshift.data.UserSettings; import one.nem.kidshift.data.retrofit.KidShiftApiService; import one.nem.kidshift.data.retrofit.model.parent.ParentInfoResponse; import one.nem.kidshift.model.ParentModel; import retrofit2.Call; +import retrofit2.Response; public class ParentDataImpl implements ParentData { private KidShiftApiService kidshiftApiService; + private UserSettings userSettings; + @Inject - public ParentDataImpl(KidShiftApiService kidshiftApiService) { + public ParentDataImpl(KidShiftApiService kidshiftApiService, UserSettings userSettings) { this.kidshiftApiService = kidshiftApiService; + this.userSettings = userSettings; } @Override public CompletableFuture getParent() { return CompletableFuture.supplyAsync(() -> { - ParentInfoResponse parentInfoResponse; + Response parentInfoResponse; Call response = kidshiftApiService.getParentInfo(); try { - parentInfoResponse = response.execute().body(); + Log.d("ParentDataImpl", "getParent"); + Log.d("token", userSettings.getAppCommonSetting().getAccessToken()); + parentInfoResponse = response.execute(); + ParentInfoResponse responseBody = parentInfoResponse.body(); ParentModel parent = new ParentModel(); assert parentInfoResponse != null; - parent.setInternalId(parentInfoResponse.getId()); - parent.setEmail(parentInfoResponse.getEmail()); - parent.setDisplayName(parentInfoResponse.getDisplayName()); + parent.setInternalId(responseBody.getId()); + parent.setEmail(responseBody.getEmail()); + parent.setDisplayName(responseBody.getDisplayName()); // TODO: 他のプロパティも処理する return parent; } catch (IOException e) { diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index 0db9c7d..b49a734 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -30,7 +30,7 @@ public class KidShiftApiServiceModule { @Provides @Singleton public AuthorizationInterceptor provideAuthorizationInterceptor() { - return new AuthorizationInterceptor(userSettings, logger); + return new AuthorizationInterceptor(userSettings); } // Gson @@ -43,20 +43,21 @@ public class KidShiftApiServiceModule { @Provides @Singleton - public OkHttpClient provideOkHttpClient() { + public OkHttpClient provideOkHttpClient(UserSettings userSettings) { return new OkHttpClient.Builder() - .addInterceptor(provideAuthorizationInterceptor()) +// .addInterceptor(provideAuthorizationInterceptor()) + .addInterceptor(new AuthorizationInterceptor(userSettings)) .build(); } @Provides @Singleton - public KidShiftApiService provideKidShiftApiService() { + public KidShiftApiService provideKidShiftApiService(OkHttpClient okHttpClient) { return new Retrofit.Builder() // .baseUrl(userSettings.getApiSetting().getApiBaseUrl()) .baseUrl("https://kidshift-beta.nem.one/") .addConverterFactory(GsonConverterFactory.create(provideGson())) - .client(provideOkHttpClient()) + .client(okHttpClient) .build() .create(KidShiftApiService.class); } diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index 07faf9b..6ff9826 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -1,5 +1,7 @@ package one.nem.kidshift.data.retrofit.interceptor; +import android.util.Log; + import androidx.annotation.NonNull; import java.io.IOException; @@ -18,29 +20,52 @@ public class AuthorizationInterceptor implements Interceptor { public static final String HEADER_PLACEHOLDER = HEADER_NAME + ": " + HEADER_VALUE; private final UserSettings userSettings; - private final KSLogger logger; - @Inject - public AuthorizationInterceptor(UserSettings userSettings, KSLogger logger) { + public AuthorizationInterceptor(UserSettings userSettings) { this.userSettings = userSettings; - this.logger = logger; - logger.setTag("AuthorizationInterceptor"); } @NonNull @Override public Response intercept(@NonNull Chain chain) throws IOException { + Log.d("AuthorizationInterceptor", "intercept"); try { if (chain.request().header(HEADER_NAME) == null) { - logger.debug("No Authorization header found. Skipping."); + Log.d("AuthorizationInterceptor", "Authorization header is null"); return chain.proceed(chain.request()); } if (!HEADER_VALUE.equals(chain.request().header(HEADER_NAME))) { - logger.debug("Authorization header found, but value is not expected. Skipping."); + Log.d("AuthorizationInterceptor", "Authorization header is not valid"); + return chain.proceed(chain.request()); + } + +// Log.d("AuthorizationInterceptor", "Authorization header is valid"); +// Log.d("AuthorizationInterceptor", "Authorization header: " + chain.request().header(HEADER_NAME)); + + + Log.d("AuthorizationInterceptor", "Fetching token from UserSettings"); + + if (userSettings == null) { + Log.e("AuthorizationInterceptor", "userSettings is null"); + return chain.proceed(chain.request()); + } else { + Log.d("AuthorizationInterceptor", "userSettings is not null"); + } + + UserSettings.AppCommonSetting appCommonSetting = userSettings.getAppCommonSetting(); + if (appCommonSetting == null) { + Log.e("AuthorizationInterceptor", "AppCommonSetting is null"); + return chain.proceed(chain.request()); + } else { + Log.d("AuthorizationInterceptor", "AppCommonSetting is not null"); + } + + String token = appCommonSetting.getAccessToken(); + if (token == null) { + Log.e("AuthorizationInterceptor", "Token is null"); return chain.proceed(chain.request()); } - logger.debug("Authorization header found. Adding value."); return chain.proceed(chain.request().newBuilder() .header(HEADER_NAME, userSettings.getAppCommonSetting().getAccessToken()) .build()); -- 2.45.1 From 038a71bb54ae06a7eab3302782eef2e6674c637c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:28:07 +0900 Subject: [PATCH 27/33] =?UTF-8?q?Logger=E3=82=A4=E3=83=B3=E3=82=B8?= =?UTF-8?q?=E3=82=A7=E3=82=AF=E3=83=88=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nem/kidshift/data/retrofit/KidShiftApiServiceModule.java | 4 ++-- .../data/retrofit/interceptor/AuthorizationInterceptor.java | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index b49a734..7c23e33 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -43,10 +43,10 @@ public class KidShiftApiServiceModule { @Provides @Singleton - public OkHttpClient provideOkHttpClient(UserSettings userSettings) { + public OkHttpClient provideOkHttpClient(UserSettings userSettings, KSLogger logger) { return new OkHttpClient.Builder() // .addInterceptor(provideAuthorizationInterceptor()) - .addInterceptor(new AuthorizationInterceptor(userSettings)) + .addInterceptor(new AuthorizationInterceptor(userSettings, logger)) .build(); } diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index 6ff9826..b67801b 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -20,9 +20,12 @@ public class AuthorizationInterceptor implements Interceptor { public static final String HEADER_PLACEHOLDER = HEADER_NAME + ": " + HEADER_VALUE; private final UserSettings userSettings; + private final KSLogger logger; - public AuthorizationInterceptor(UserSettings userSettings) { + public AuthorizationInterceptor(UserSettings userSettings, KSLogger logger) { this.userSettings = userSettings; + this.logger = logger; + logger.setTag("Auth_Interceptor"); } @NonNull -- 2.45.1 From 86e7fccab92a578d2c71ebaaba94af7d8e90922d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:28:55 +0900 Subject: [PATCH 28/33] Fix --- .../interceptor/AuthorizationInterceptor.java | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index b67801b..ff3ce1a 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -31,41 +31,14 @@ public class AuthorizationInterceptor implements Interceptor { @NonNull @Override public Response intercept(@NonNull Chain chain) throws IOException { - Log.d("AuthorizationInterceptor", "intercept"); + logger.debug("intercept"); try { if (chain.request().header(HEADER_NAME) == null) { - Log.d("AuthorizationInterceptor", "Authorization header is null"); + logger.debug("Authorization header is null"); return chain.proceed(chain.request()); } if (!HEADER_VALUE.equals(chain.request().header(HEADER_NAME))) { - Log.d("AuthorizationInterceptor", "Authorization header is not valid"); - return chain.proceed(chain.request()); - } - -// Log.d("AuthorizationInterceptor", "Authorization header is valid"); -// Log.d("AuthorizationInterceptor", "Authorization header: " + chain.request().header(HEADER_NAME)); - - - Log.d("AuthorizationInterceptor", "Fetching token from UserSettings"); - - if (userSettings == null) { - Log.e("AuthorizationInterceptor", "userSettings is null"); - return chain.proceed(chain.request()); - } else { - Log.d("AuthorizationInterceptor", "userSettings is not null"); - } - - UserSettings.AppCommonSetting appCommonSetting = userSettings.getAppCommonSetting(); - if (appCommonSetting == null) { - Log.e("AuthorizationInterceptor", "AppCommonSetting is null"); - return chain.proceed(chain.request()); - } else { - Log.d("AuthorizationInterceptor", "AppCommonSetting is not null"); - } - - String token = appCommonSetting.getAccessToken(); - if (token == null) { - Log.e("AuthorizationInterceptor", "Token is null"); + logger.debug("Authorization header is invalid"); return chain.proceed(chain.request()); } -- 2.45.1 From 1719d11293ccb7b6455b68ed72735dc6651d2b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:30:07 +0900 Subject: [PATCH 29/33] =?UTF-8?q?Module=E5=AE=9F=E8=A3=85=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/retrofit/KidShiftApiServiceModule.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java index 7c23e33..76ddd7f 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/KidShiftApiServiceModule.java @@ -21,16 +21,13 @@ import retrofit2.converter.gson.GsonConverterFactory; @InstallIn(SingletonComponent.class) public class KidShiftApiServiceModule { - @Inject - UserSettings userSettings; - @Inject KSLogger logger; @Provides @Singleton - public AuthorizationInterceptor provideAuthorizationInterceptor() { - return new AuthorizationInterceptor(userSettings); + public AuthorizationInterceptor provideAuthorizationInterceptor(UserSettings userSettings, KSLogger logger) { + return new AuthorizationInterceptor(userSettings, logger); } // Gson @@ -43,10 +40,9 @@ public class KidShiftApiServiceModule { @Provides @Singleton - public OkHttpClient provideOkHttpClient(UserSettings userSettings, KSLogger logger) { + public OkHttpClient provideOkHttpClient(AuthorizationInterceptor authorizationInterceptor) { return new OkHttpClient.Builder() -// .addInterceptor(provideAuthorizationInterceptor()) - .addInterceptor(new AuthorizationInterceptor(userSettings, logger)) + .addInterceptor(authorizationInterceptor) .build(); } -- 2.45.1 From 99eb7b9499bc0abcc39c9c5b19f5d142a4065f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:31:18 +0900 Subject: [PATCH 30/33] =?UTF-8?q?Prefix=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/retrofit/interceptor/AuthorizationInterceptor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java index ff3ce1a..17ae555 100644 --- a/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java +++ b/data/src/main/java/one/nem/kidshift/data/retrofit/interceptor/AuthorizationInterceptor.java @@ -43,7 +43,7 @@ public class AuthorizationInterceptor implements Interceptor { } return chain.proceed(chain.request().newBuilder() - .header(HEADER_NAME, userSettings.getAppCommonSetting().getAccessToken()) + .header(HEADER_NAME, "Barer " + userSettings.getAppCommonSetting().getAccessToken()) .build()); } catch (Exception e) { return chain.proceed(chain.request()); -- 2.45.1 From 2b426703edb6bf46fa21e01875bf0fb7c3604485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:32:38 +0900 Subject: [PATCH 31/33] =?UTF-8?q?=E3=83=AD=E3=82=B0=E5=89=8A=E9=99=A4,=20w?= =?UTF-8?q?orkaround?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/one/nem/kidshift/data/impl/ParentDataImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index b73cd45..0123e9d 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -33,15 +33,13 @@ public class ParentDataImpl implements ParentData { Response parentInfoResponse; Call response = kidshiftApiService.getParentInfo(); try { - Log.d("ParentDataImpl", "getParent"); - Log.d("token", userSettings.getAppCommonSetting().getAccessToken()); parentInfoResponse = response.execute(); ParentInfoResponse responseBody = parentInfoResponse.body(); ParentModel parent = new ParentModel(); assert parentInfoResponse != null; parent.setInternalId(responseBody.getId()); parent.setEmail(responseBody.getEmail()); - parent.setDisplayName(responseBody.getDisplayName()); + parent.setDisplayName(responseBody.getDisplayName().isEmpty() ? responseBody.getEmail() : responseBody.getDisplayName()); // TODO: 他のプロパティも処理する return parent; } catch (IOException e) { -- 2.45.1 From 79a04d737b915c7f0dd7cb7c1d3bfbc5112ec34a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:33:39 +0900 Subject: [PATCH 32/33] Workaround --- .../main/java/one/nem/kidshift/data/impl/ParentDataImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java index 0123e9d..6e166d7 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ParentDataImpl.java @@ -39,7 +39,7 @@ public class ParentDataImpl implements ParentData { assert parentInfoResponse != null; parent.setInternalId(responseBody.getId()); parent.setEmail(responseBody.getEmail()); - parent.setDisplayName(responseBody.getDisplayName().isEmpty() ? responseBody.getEmail() : responseBody.getDisplayName()); + parent.setDisplayName(responseBody.getEmail()); // Workaround // TODO: 他のプロパティも処理する return parent; } catch (IOException e) { -- 2.45.1 From 34fa087d87c16cae579b1f53d79cce7866d1a732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:36:23 +0900 Subject: [PATCH 33/33] Workaround --- .../nem/kidshift/feature/setting/SettingMainFragment.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java b/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java index 5d867d5..4466854 100644 --- a/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java +++ b/feature/setting/src/main/java/one/nem/kidshift/feature/setting/SettingMainFragment.java @@ -88,6 +88,12 @@ public class SettingMainFragment extends Fragment { //親の名前、アドレス表示 ParentModel parent = parentData.getParent().join(); + if (parent == null) { + parent = new ParentModel(); // Workaround(非ログインデバッグ用) + parent.setDisplayName("親の名前"); + parent.setEmail("親のアドレス"); + } + //RecyclerViewの処理 View view = inflater.inflate(R.layout.fragment_setting_main, container, false); -- 2.45.1