diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b7692a6..996e5aa 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,7 +28,8 @@ android:name=".MapsActivity" android:exported="true" android:label="Map" - android:windowSoftInputMode="adjustPan"> + android:windowSoftInputMode="adjustPan" + android:screenOrientation="portrait"> @@ -39,7 +40,8 @@ + android:label="@string/app_name" + android:screenOrientation="portrait"> @@ -50,7 +52,8 @@ + android:label="@string/app_name" + android:screenOrientation="portrait"> @@ -61,7 +64,8 @@ + android:label="@string/app_name" + android:screenOrientation="portrait"> @@ -73,7 +77,8 @@ + android:label="@string/app_name" + android:screenOrientation="portrait"> @@ -85,7 +90,8 @@ + android:label="@string/title_activity_requested" + android:screenOrientation="portrait"> @@ -93,11 +99,13 @@ + android:exported="false" + android:screenOrientation="portrait"/> + android:windowSoftInputMode="adjustPan" + android:screenOrientation="portrait"/> @@ -111,7 +119,8 @@ + android:label="@string/title_activity_my_page" + android:screenOrientation="portrait"> @@ -136,7 +145,8 @@ + android:label="@string/title_activity_test" + android:screenOrientation="portrait"> @@ -148,7 +158,8 @@ + android:label="@string/title_activity_post" + android:screenOrientation="portrait"> @@ -160,7 +171,8 @@ + android:label="@string/title_activity_shop" + android:screenOrientation="portrait"> diff --git a/app/src/main/java/com/example/nemophila/LoginActivity.java b/app/src/main/java/com/example/nemophila/LoginActivity.java index c724040..ead2d5e 100644 --- a/app/src/main/java/com/example/nemophila/LoginActivity.java +++ b/app/src/main/java/com/example/nemophila/LoginActivity.java @@ -3,16 +3,23 @@ import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; -import com.example.nemophila.entities.Account; import com.example.nemophila.entities.AccountJson; import com.example.nemophila.resources.AccountsRest; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -21,6 +28,7 @@ @JsonIgnoreProperties(ignoreUnknown=true) public class LoginActivity extends AppCompatActivity { + private final ExecutorService executor = Executors.newSingleThreadExecutor(); private Retrofit retrofit; private AccountsRest AccountsRest; @@ -38,13 +46,6 @@ //Nemophilaと連携 nemophila = (Nemophila) this.getApplication(); - //Nemophilaにtokenとuidがある場合ログイン画面をスキップ - if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){ - - Intent intent = new Intent(LoginActivity.this,MapsActivity.class); - startActivity(intent); - return; - } //通信の初期化 this.retrofit = new Retrofit.Builder() @@ -83,8 +84,7 @@ nemophila.setZoom(defaultZoom); //mainに画面遷移 - Intent intent = new Intent(LoginActivity.this,MapsActivity.class); - startActivity(intent); + getIcon("http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/icon" + nemophila.getUid() + ".jpg", false); } else { System.out.println("通信可能:changeBelongsAndMaster: " + response.code()); if (response.code() == 500){ @@ -120,4 +120,29 @@ } }); } + + private void getIcon(String urlString, boolean isDefault){ + executor.execute(() -> { + try{ + URL url = new URL(urlString); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.connect(); + + InputStream is = con.getInputStream(); + Bitmap bitmap = BitmapFactory.decodeStream(is); + nemophila.setIcon(bitmap); + + Intent intent = new Intent(LoginActivity.this,MapsActivity.class); + startActivity(intent); + } catch (Exception e){ + e.printStackTrace(); + if(!isDefault) { + getIcon("http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/test01.jpg", true); + } else { + Intent intent = new Intent(LoginActivity.this,MapsActivity.class); + startActivity(intent); + } + } + }); + } } diff --git a/app/src/main/java/com/example/nemophila/SignUpActivity.java b/app/src/main/java/com/example/nemophila/SignUpActivity.java index 0cba923..ccabe0c 100644 --- a/app/src/main/java/com/example/nemophila/SignUpActivity.java +++ b/app/src/main/java/com/example/nemophila/SignUpActivity.java @@ -3,16 +3,23 @@ import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; -import com.example.nemophila.entities.Account; import com.example.nemophila.entities.AccountJson; import com.example.nemophila.resources.AccountsRest; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -21,6 +28,7 @@ @JsonIgnoreProperties(ignoreUnknown=true) public class SignUpActivity extends AppCompatActivity{ + private final ExecutorService executor = Executors.newSingleThreadExecutor(); private Retrofit retrofit; private AccountsRest AccountsRest; @@ -41,9 +49,7 @@ //Nemophilaにtokenとuidがある場合サインアップ画面をスキップ if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){ - - Intent intent = new Intent(SignUpActivity.this,MapsActivity.class); - startActivity(intent); + getIcon("http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/icon" + nemophila.getUid() + ".jpg", false); System.out.println("サインアップ処理をスキップ"); return; } @@ -86,8 +92,7 @@ nemophila.setZoom(defaultZoom); //mainに画面遷移 - Intent intent = new Intent(SignUpActivity.this, MapsActivity.class); - startActivity(intent); + getIcon("http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/test01.jpg", true); } else { System.out.println("通信可能:changeBelongsAndMaster: " + response.code()); if (response.code() == 500) { @@ -116,4 +121,29 @@ } }); } + + private void getIcon(String urlString, boolean isDefault){ + executor.execute(() -> { + try{ + URL url = new URL(urlString); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.connect(); + + InputStream is = con.getInputStream(); + Bitmap bitmap = BitmapFactory.decodeStream(is); + nemophila.setIcon(bitmap); + + Intent intent = new Intent(SignUpActivity.this,MapsActivity.class); + startActivity(intent); + } catch (Exception e){ + e.printStackTrace(); + if(!isDefault) { + getIcon("http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/test01.jpg", true); + } else { + Intent intent = new Intent(SignUpActivity.this,MapsActivity.class); + startActivity(intent); + } + } + }); + } } \ No newline at end of file