diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 8aaaa2c..498ac9e 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -7,11 +7,11 @@
-
+
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 54ed16b..743778d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,9 +10,12 @@
+
+
+
diff --git a/app/src/main/java/com/example/nemophila/FriendActivity.java b/app/src/main/java/com/example/nemophila/FriendActivity.java
index 89066d2..d611634 100644
--- a/app/src/main/java/com/example/nemophila/FriendActivity.java
+++ b/app/src/main/java/com/example/nemophila/FriendActivity.java
@@ -8,6 +8,8 @@
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -53,9 +55,19 @@
// getFriendsの通信が呼び出されて、フレンドの一覧をfriendsDatasetに格納し、Adapterにセットする
FriendActivityAdapter adapter = new FriendActivityAdapter(friendsDataset) {
@Override
- void onItemClick(View view, int position, FriendDataModel friend) {
- Toast.makeText(FriendActivity.this, friend.getName(), Toast.LENGTH_SHORT).show();
-// friendViewModel.deleteFriend(myUid, friend.getId(), myToken);
+ void onDeleteClick(View view, int position, FriendDataModel friend) {
+ new AlertDialog.Builder(FriendActivity.this)
+ .setTitle("フレンドから" + friend.getName() + "を削除しますか?")
+ .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Toast.makeText(FriendActivity.this, friend.getName(), Toast.LENGTH_SHORT).show();
+// friendViewModel.deleteFriend(myUid, friend.getId(), myToken);
+ }
+ })
+ .setNegativeButton("キャンセル", null)
+ .create()
+ .show();
}
};
friendViewModel.getFriends(myUid); // 自身のフレンドの一覧を取得するメソッドを呼び出す
@@ -89,7 +101,7 @@
// ----------- RecyclerView用の内部クラス ------------//
// Adapter
- public class FriendActivityAdapter extends RecyclerView.Adapter {
+ abstract public class FriendActivityAdapter extends RecyclerView.Adapter {
private List friendDatas;
public FriendActivityAdapter(List friendDatas) {
@@ -114,7 +126,7 @@
public void onClick(View v) {
int position = vh.getBindingAdapterPosition();
// 処理はonItemClick()に丸投げ
- onItemClick(v, position, friendDatas.get(position));
+ onDeleteClick(v, position, friendDatas.get(position));
}
});
@@ -132,9 +144,7 @@
return friendDatas.size();
}
- void onItemClick(View view, int position, FriendDataModel friend) {
- // このメソッドをActivity内でオーバーライドして、クリックイベントの処理を設定する
- }
+ abstract void onDeleteClick(View view, int position, FriendDataModel friend);
}
// ViewHolder
diff --git a/app/src/main/java/com/example/nemophila/LoginActivity.java b/app/src/main/java/com/example/nemophila/LoginActivity.java
index 18169eb..033fa07 100644
--- a/app/src/main/java/com/example/nemophila/LoginActivity.java
+++ b/app/src/main/java/com/example/nemophila/LoginActivity.java
@@ -35,7 +35,7 @@
nemophila = (Nemophila) this.getApplication();
//Nemophilaにtokenとuidがある場合ログイン画面をスキップ
if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){
- Intent intent = new Intent(LoginActivity.this,MainActivity.class);
+ Intent intent = new Intent(LoginActivity.this,MapsActivity.class);
startActivity(intent);
return;
}
@@ -72,7 +72,7 @@
nemophila.setToken(response.body().getToken());
//mainに画面遷移
- Intent intent = new Intent(LoginActivity.this,MainActivity.class);
+ Intent intent = new Intent(LoginActivity.this,MapsActivity.class);
startActivity(intent);
} else {
System.out.println("通信可能:changeBelongsAndMaster: " + response.code());
diff --git a/app/src/main/java/com/example/nemophila/Nemophila.java b/app/src/main/java/com/example/nemophila/Nemophila.java
index b48eb3c..37d9e2b 100644
--- a/app/src/main/java/com/example/nemophila/Nemophila.java
+++ b/app/src/main/java/com/example/nemophila/Nemophila.java
@@ -11,8 +11,6 @@
import java.util.HashSet;
public class Nemophila extends Application {
- private final int MAX_FILTER = 5;
-
//アカウントのデータ
private String name;
private String uid;
@@ -32,6 +30,7 @@
//フィルターのデータ
private HashSet selectGenres = new HashSet<>();
private HashSet selectFriends = new HashSet<>();
+ private HashSet favoriteFriends = new HashSet<>();
//Account関連のGetter
public String getName() {
@@ -100,6 +99,13 @@
public HashSet getSelectFriends() {
return selectFriends;
}
+ public HashSet getFavoriteFriends() {
+ if(favoriteFriends.isEmpty()){
+ SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE);
+ favoriteFriends = (HashSet) preferences.getStringSet("favoriteFriends", new HashSet<>());
+ }
+ return new HashSet<>(favoriteFriends);
+ }
//Setter
public void setName(String name) {
@@ -161,6 +167,12 @@
public void setSelectFriends(String selectFriend) {
this.selectFriends.add(selectFriend);
}
+ public void setFavoriteFriends(String favoriteFriend) {
+ SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE);
+ SharedPreferences.Editor editor = preferences.edit();
+ editor.putStringSet("favoriteFriends", favoriteFriends);
+ this.favoriteFriends.add(favoriteFriend);
+ }
//フィルターを取り除く
public void removeSelectGenres(String selectGenre){
@@ -169,4 +181,7 @@
public void removeSelectFriends(String selectFriend) {
this.selectFriends.remove(selectFriend);
}
+ public void removeFavoriteFriends(String favoriteFriend){
+ this.selectFriends.remove(favoriteFriend);
+ }
}
diff --git a/app/src/main/java/com/example/nemophila/PostActivity.java b/app/src/main/java/com/example/nemophila/PostActivity.java
index cf0b6b2..fb9ed9b 100644
--- a/app/src/main/java/com/example/nemophila/PostActivity.java
+++ b/app/src/main/java/com/example/nemophila/PostActivity.java
@@ -6,6 +6,7 @@
import android.content.Intent;
import android.os.Bundle;
+import android.provider.MediaStore;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
@@ -73,7 +74,7 @@
nemophila.setDummyShop(null);
nemophila.setCurrentShop(null);
- Intent intent = new Intent(getApplication(), MainActivity.class);
+ Intent intent = new Intent(getApplication(), MapsActivity.class);
startActivity(intent);
}
});
@@ -106,7 +107,7 @@
nemophila.setDummyShop(null);
nemophila.setCurrentShop(null);
//画面遷移
- Intent intent = new Intent(getApplication(), MainActivity.class);
+ Intent intent = new Intent(getApplication(), MapsActivity.class);
startActivity(intent);
}
});
@@ -159,18 +160,53 @@
});
- //コメント入力
+ //製作途中
+//
+// Intent intent = new Intent(MediaStore.AC);
+// intent.setType("image/*");
+//
+// Button selectPictureButton = (Button)findViewById(R.id.selectpicturebutton);
+// selectPictureButton.setOnClickListener(new View.OnClickListener(){
+// public void onClick(View v) {
+//// 画像選択(3枚)
+//
+// intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
+// intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
+// String title = "Select multiple images";
+// Intent chooser = Intent.createChooser(intent, title);
+// startActivityForResult(chooser, REQ_CODE_CHOOSE_FILES_URI);
+// }
+// });
+//
+// public void onActivityResult(int requestCode, int resultCode, final Intent data) {
+// super.onActivityResult(requestCode, resultCode, intent);
+//
+// if (resultCode != Activity.RESULT_OK) {
+// // Handle error
+// return;
+// }
+//
+// switch(requestCode) {
+// case REQUEST_PHOTO_PICKER_SINGLE_SELECT:
+// // Get photo picker response for single select.
+// Uri currentUri = data.getData();
+//
+// // Do stuff with the photo/video URI.
+// return;
+// case REQUEST_PHOTO_PICKER_MULTI_SELECT:
+// // Get photo picker response for multi select
+// for (int i = 0; i < data.getClipData().getItemCount(); i++) {
+// Uri currentUri = data.getClipData().getItemAt(i).getUri();
+//
+// // Do stuff with each photo/video URI.
+// }
+// return;
+// }
+// }
+//
+//
+//
- Button selectPictureButton = (Button)findViewById(R.id.selectpicturebutton);
- selectPictureButton.setOnClickListener(new View.OnClickListener(){
- public void onClick(View v) {
- //画像選択(3枚)
-// final int maxNumPhotosAndVideos = 10;
-// Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES);
-// intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, maxNumPhotosAndVideos);
-// startActivityForResult(intent, PHOTO_PICKER_MULTI_SELECT_REQUEST_CODE);
- }
- });
//投稿ボタンの処理
@@ -206,7 +242,7 @@
nemophila.setDummyShop(null);
nemophila.setCurrentShop(null);
- Intent intent = new Intent(getApplication(), MainActivity.class);
+ Intent intent = new Intent(getApplication(), MapsActivity.class);
startActivity(intent);
}
}
diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java
index 6f075f9..7ef5534 100644
--- a/app/src/main/java/com/example/nemophila/RequestedActivity.java
+++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java
@@ -1,15 +1,126 @@
package com.example.nemophila;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import android.content.Intent;
import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.example.nemophila.entities.Account;
+import com.example.nemophila.entities.AccountNameJson;
+import com.example.nemophila.viewmodels.FriendViewModel;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
public class RequestedActivity extends AppCompatActivity {
- private RequestedAdapter adapter = null;
+
+ FriendViewModel friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
+ Nemophila nemophila = (Nemophila) this.getApplication();
+ List requestedDataSet = new ArrayList<>();
+ LinearLayoutManager llm = new LinearLayoutManager(this);
+ String uid = nemophila.getUid();
+ String token = nemophila.getToken();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_requested);
+
+ Button returnButton = (Button)findViewById(R.id.CancelButton);
+ returnButton.setOnClickListener(new View.OnClickListener(){
+ public void onClick(View v){
+ Intent intent = new Intent(getApplication(), MyPageActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ RecyclerView rv = findViewById(R.id.requestedList);
+ RequestedAdapter adapter = new RequestedAdapter(requestedDataSet);
+
+ rv.setHasFixedSize(true);
+ rv.setLayoutManager(llm);
+ rv.setAdapter(adapter);
+
+ friendViewModel.getRequested(uid);
+ friendViewModel.getRequestedLiveData().observe(this, new Observer>() {
+ @Override
+ public void onChanged(Collection accountNameJsons) {
+ requestedDataSet.clear();
+ for (AccountNameJson acj: accountNameJsons) {
+ RequestedUserModel data = new RequestedUserModel();
+ data.setId(acj.getUid());
+ data.setName(acj.getName());
+ requestedDataSet.add(data);
+ }
+ }
+ });
+ }
+
+ //Adapter
+ public class RequestedAdapter extends RecyclerView.Adapter {
+ private List list;
+ public RequestedAdapter(List list) {
+ this.list = list;
+ }
+ public void setList(List list) {
+ this.list = list;
+ }
+
+ @NonNull
+ @Override
+ public RequestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requested_activity, parent,false);
+ RequestedViewHolder vh = new RequestedViewHolder(inflate);
+ return vh;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull RequestedViewHolder holder, int position) {
+ holder.nameView.setText(list.get(position).getName());
+ }
+
+ @Override
+ public int getItemCount() {
+ return list.size();
+ }
+ }
+
+ //ViewHolder
+ public class RequestedViewHolder extends RecyclerView.ViewHolder {
+ public TextView nameView;
+
+ public RequestedViewHolder(@NonNull View view) {
+ super(view);
+ nameView = (TextView) view.findViewById(R.id.textView3);
+ }
+ }
+
+ // DataModel
+ public static class RequestedUserModel {
+ private String name;
+ private String id;
+
+ public String getName() {
+ return name;
+ }
+ public String getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+ public void setId(String id) { this.id = id;}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/nemophila/RequestedAdapter.java b/app/src/main/java/com/example/nemophila/RequestedAdapter.java
deleted file mode 100644
index be91550..0000000
--- a/app/src/main/java/com/example/nemophila/RequestedAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.example.nemophila;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.example.nemophila.entities.Account;
-import com.example.nemophila.viewmodels.AccountViewModel;
-
-import java.util.List;
-
-public class RequestedAdapter extends RecyclerView.Adapter {
- private List list;
- public RequestedAdapter(List list) {
- this.list = list;
- }
- public void setList(List list) {
- this.list = list;
- }
-
- @NonNull
- @Override
- public RequestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requested_activity, parent,false);
- RequestedViewHolder vh = new RequestedViewHolder(inflate);
- return vh;
- }
-
- @Override
- public void onBindViewHolder(@NonNull RequestedViewHolder holder, int position) {
- holder.nameView.setText(list.get(position).getName());
- }
-
- @Override
- public int getItemCount() {
- return list.size();
- }
-}
diff --git a/app/src/main/java/com/example/nemophila/RequestedViewHolder.java b/app/src/main/java/com/example/nemophila/RequestedViewHolder.java
deleted file mode 100644
index e4ed3cc..0000000
--- a/app/src/main/java/com/example/nemophila/RequestedViewHolder.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.example.nemophila;
-
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-public class RequestedViewHolder extends RecyclerView.ViewHolder {
- public TextView nameView;
-
- public RequestedViewHolder(@NonNull View view) {
- super(view);
- nameView = (TextView) view.findViewById(R.id.textView3);
- }
-}
diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java
index b99788f..1f155ee 100644
--- a/app/src/main/java/com/example/nemophila/ShopActivity.java
+++ b/app/src/main/java/com/example/nemophila/ShopActivity.java
@@ -72,7 +72,7 @@
Button returnButton = (Button)findViewById(R.id.shopAcReturnButton);
returnButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
- Intent intent = new Intent(getApplication(), MainActivity.class);
+ Intent intent = new Intent(getApplication(), MapsActivity.class);
startActivity(intent);
}
});
diff --git a/app/src/main/java/com/example/nemophila/ShopCreateActivity.java b/app/src/main/java/com/example/nemophila/ShopCreateActivity.java
index c6d2a90..aa4a9d4 100644
--- a/app/src/main/java/com/example/nemophila/ShopCreateActivity.java
+++ b/app/src/main/java/com/example/nemophila/ShopCreateActivity.java
@@ -55,7 +55,7 @@
Button cancelButton = findViewById(R.id.buttonCancel);
cancelButton.setOnClickListener(v -> {
cancelButton.setEnabled(false);
- Intent intent = new Intent(getApplication(), MainActivity.class);
+ Intent intent = new Intent(getApplication(), 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 b867654..e561fe7 100644
--- a/app/src/main/java/com/example/nemophila/SignUpActivity.java
+++ b/app/src/main/java/com/example/nemophila/SignUpActivity.java
@@ -36,7 +36,7 @@
//Nemophilaにtokenとuidがある場合サインアップ画面をスキップ
if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){
- Intent intent = new Intent(SignUpActivity.this,MainActivity.class);
+ Intent intent = new Intent(SignUpActivity.this,MapsActivity.class);
startActivity(intent);
System.out.println("サインアップ処理をスキップ");
return;
@@ -75,7 +75,7 @@
nemophila.setToken(response.body().getToken());
//mainに画面遷移
- Intent intent = new Intent(SignUpActivity.this, MainActivity.class);
+ Intent intent = new Intent(SignUpActivity.this, MapsActivity.class);
startActivity(intent);
} else {
System.out.println("通信可能:changeBelongsAndMaster: " + response.code());
diff --git a/app/src/main/java/com/example/nemophila/TestActivity.java b/app/src/main/java/com/example/nemophila/TestActivity.java
index 0fe08d0..6a9c2e7 100644
--- a/app/src/main/java/com/example/nemophila/TestActivity.java
+++ b/app/src/main/java/com/example/nemophila/TestActivity.java
@@ -12,11 +12,12 @@
import android.widget.Spinner;
import com.example.nemophila.viewmodels.AccountViewModel;
+import com.example.nemophila.viewmodels.FriendViewModel;
import com.example.nemophila.viewmodels.PostsViewModel;
import com.example.nemophila.viewmodels.ShopsViewModel;
public class TestActivity extends AppCompatActivity {
- int position; //テスト用
+ int position;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -30,10 +31,11 @@
ShopsViewModel shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class);
AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class);
PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class);
+ FriendViewModel friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
//テスト用のspinner
Spinner spinner = findViewById(R.id.testspinner);
- String[] spinnerItems = {"ShopsViewModel", "AccountViewModel", "PostsViewModel"}; //ここに名前を追加
+ String[] spinnerItems = {"ShopsViewModel", "AccountViewModel", "PostsViewModel", "FriendsViewModel"}; //ここに名前を追加
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, spinnerItems);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
@@ -65,10 +67,11 @@
case 2:
postsViewModel.createPost("1114", "dbfd3740-8dcc-4b9c-b3b0-42c908da1c65", "151347fa-2c90-44d7-ba48-f23f475b910d", 1,
"和食", "辛いね", "", "", "");
-// postsViewModel.loadShopPost("151347fa-2c90-44d7-ba48-f23f475b910d");
break;
+ case 3:
+ friendViewModel.putRequesting("1111", "1112", "a95d68cc-4efb-49e2-8f55-799f768a5c09");
}
}
});
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
index 52b4fbf..d590f56 100644
--- a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
+++ b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
@@ -40,7 +40,7 @@
);
@FormUrlEncoded
- @PUT("accounts/{uid}/reqesting/{requesting_id}")
+ @PUT("accounts/{uid}/requesting/{requesting_id}")
Call putRequesting(
@Path("uid") String uid,
@Path("requesting_id") String requesting_id,
@@ -48,20 +48,20 @@
);
@FormUrlEncoded
- @DELETE("accounts/{uid}/reqesting/{requesting_id}")
+ @DELETE("accounts/{uid}/requesting/{requesting_id}")
Call deleteRequesting(
@Path("uid") String uid,
@Path("requesting_id") String requesting_id,
@Field("token") String token
);
- @GET("accounts/{uid}/reqested")
+ @GET("accounts/{uid}/requested")
Call> getRequested(
@Path("uid") String uid
);
@FormUrlEncoded
- @DELETE("accounts/{uid}/reqested/{reqested_id}")
+ @DELETE("accounts/{uid}/requested/{requested_id}")
Call deleteRequested(
@Path("uid") String uid,
@Path("requested_id") String requested_id,
diff --git a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
index 2be6f58..4749334 100644
--- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
+++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
@@ -132,7 +132,7 @@
if (response.isSuccessful()) {
System.out.println("Successful");
} else {
- System.out.println("ResponseError");
+ System.out.println("ResponseError" + response.code());
}
}
@Override
diff --git a/app/src/main/res/layout/activity_requested.xml b/app/src/main/res/layout/activity_requested.xml
index 32ff931..67eceed 100644
--- a/app/src/main/res/layout/activity_requested.xml
+++ b/app/src/main/res/layout/activity_requested.xml
@@ -34,6 +34,7 @@
app:layout_constraintVertical_bias="0.049" />
@@ -52,8 +52,13 @@
android:id="@+id/LoginTrans"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginTop="72dp"
+ android:background="@color/teal_200"
+ android:backgroundTint="@color/teal_200"
android:text="I have an Account"
app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/SignUpButton" />
+ app:layout_constraintTop_toBottomOf="@+id/SignUpButton"
+ app:rippleColor="#3F51B5" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_friends_activity.xml b/app/src/main/res/layout/layout_friends_activity.xml
index d891315..7635bd4 100644
--- a/app/src/main/res/layout/layout_friends_activity.xml
+++ b/app/src/main/res/layout/layout_friends_activity.xml
@@ -25,4 +25,5 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="削除" />
+
\ No newline at end of file