Skip to content

Fixes on Edit button, there is + sign overlayed over letter E #5388 #5464

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 47 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
b6a2151
Fixed Grey empty screen at Upload wizard caption step after denying f…
kanahia1 Oct 20, 2023
f916e1f
Empty commit
kanahia1 Oct 20, 2023
b75193b
Merge remote-tracking branch 'origin/main'
kanahia1 Oct 20, 2023
98473a1
Fixed loop issue
kanahia1 Oct 20, 2023
f5f050e
Created docs for earlier commits
kanahia1 Oct 21, 2023
1b3bd3d
Fixed javadoc
kanahia1 Oct 21, 2023
9a9e285
Merge branch 'commons-app:main' into main
kanahia1 Nov 1, 2023
896c1d9
Fixed spaces
kanahia1 Nov 1, 2023
5ae7550
Merge branch 'commons-app:main' into main
kanahia1 Nov 19, 2023
365dd76
Added added basic features to OSM Maps
kanahia1 Nov 19, 2023
4ffafd8
Added search location feature
kanahia1 Dec 11, 2023
2e3d690
Added filter to Open Street Maps
kanahia1 Dec 12, 2023
59d21d2
Fixed chipGroup in Open Street Maps
kanahia1 Dec 13, 2023
ac453df
Removed mapBox code
kanahia1 Dec 13, 2023
ad564d3
Merge branch 'commons-app:main' into main
kanahia1 Dec 14, 2023
a6cbb27
Removed mapBox's code
kanahia1 Dec 14, 2023
0cedf17
Reformat code
kanahia1 Dec 14, 2023
9919ac5
Reformatted code
kanahia1 Dec 14, 2023
e0e0850
Removed rotation feature to map
kanahia1 Dec 16, 2023
3a6365f
Removed rotation files and Fixed Marker click problem
kanahia1 Dec 23, 2023
a017314
Merge branch 'main' into main
kanahia1 Dec 23, 2023
3069518
Ignored failing tests
kanahia1 Dec 23, 2023
fc1855c
Added voice input feature
kanahia1 Dec 31, 2023
7fdd88f
Merge remote-tracking branch 'origin/main'
kanahia1 Dec 31, 2023
78666c6
Fixed test cases
kanahia1 Dec 31, 2023
c9ae0d9
Merge branch 'commons-app:main' into main
kanahia1 Jan 3, 2024
3972967
Merge branch 'commons-app:main' into main
kanahia1 Jan 3, 2024
0dc6b11
Changed caption and description text
kanahia1 Jan 3, 2024
bcda966
Merge branch 'main' into main
kanahia1 Jan 5, 2024
23459cb
Merge branch 'commons-app:main' into main
kanahia1 Jan 13, 2024
21c0a0a
Merge branch 'commons-app:main' into main
kanahia1 Jan 14, 2024
e81f621
Replaced mapbox to osmdroid in upload activity
kanahia1 Jan 15, 2024
23717c3
Merge branch 'commons-app:main' into main
kanahia1 Jan 15, 2024
1d091f4
Merge remote-tracking branch 'origin/main'
kanahia1 Jan 15, 2024
c6f7e6f
Fixed Unit Tests
kanahia1 Jan 15, 2024
cb6dfb7
Made selected marker to be fixed on map
kanahia1 Jan 16, 2024
9814bfe
Changed color of map marker
kanahia1 Jan 17, 2024
3ac441c
Merge branch 'commons-app:main' into main
kanahia1 Jan 17, 2024
a6e855e
Fixes #5439 by capitalizing first letter of voice input
kanahia1 Jan 17, 2024
bf1f2e3
Merge branch 'main' into main
kanahia1 Jan 18, 2024
8179eed
Merge remote-tracking branch 'origin/main'
kanahia1 Jan 18, 2024
8c83306
Merge branch 'commons-app:main' into main
kanahia1 Jan 18, 2024
94a5df8
Merge remote-tracking branch 'origin/main'
kanahia1 Jan 18, 2024
ad3d128
Made UI changes in UploadMediaDetailAdapter
kanahia1 Jan 22, 2024
49a4812
Merge branch 'issue5388' of https://github.com/kanahia1/apps-android-…
kanahia1 Jan 22, 2024
f425ead
Added javadoc
kanahia1 Jan 23, 2024
5331e89
Merge branch 'main' into issue5388
nicolas-raoul Jan 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ class DescriptionEditActivity : BaseActivity(), UploadMediaDetailAdapter.EventLi
savedLanguageValue = bundle.getString(Prefs.DESCRIPTION_LANGUAGE)!!
initRecyclerView(descriptionAndCaptions)

binding.btnAddDescription.setOnClickListener(::onButtonAddDescriptionClicked)
binding.btnEditSubmit.setOnClickListener(::onSubmitButtonClicked)
binding.toolbarBackButton.setOnClickListener(::onBackButtonClicked)
}
Expand Down Expand Up @@ -112,17 +111,20 @@ class DescriptionEditActivity : BaseActivity(), UploadMediaDetailAdapter.EventLi

override fun onPrimaryCaptionTextChange(isNotEmpty: Boolean) {}

private fun onBackButtonClicked(view: View) {
onBackPressed()
}

private fun onButtonAddDescriptionClicked(view: View) {
/**
* Adds new language item to RecyclerView
*/
override fun addLanguage() {
val uploadMediaDetail = UploadMediaDetail()
uploadMediaDetail.isManuallyAdded = true //This was manually added by the user
uploadMediaDetailAdapter.addDescription(uploadMediaDetail)
rvDescriptions!!.smoothScrollToPosition(uploadMediaDetailAdapter.itemCount - 1)
}

private fun onBackButtonClicked(view: View) {
onBackPressed()
}

private fun onSubmitButtonClicked(view: View) {
showLoggingProgressBar()
val uploadMediaDetails = uploadMediaDetailAdapter.items
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
Expand Down Expand Up @@ -190,6 +192,7 @@ public void removeDescription(final UploadMediaDetail uploadMediaDetail, final i
}
notifyItemRemoved(position);
notifyItemRangeChanged(position, uploadMediaDetails.size() - position);
updateAddButtonVisibility();
}

public class ViewHolder extends RecyclerView.ViewHolder {
Expand All @@ -213,6 +216,12 @@ public class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.btn_remove)
ImageView removeButton;

@BindView(R.id.btn_add)
ImageView addButton;

@BindView(R.id.cl_parent)
ConstraintLayout clParent;

@BindView(R.id.ll_write_better_caption)
LinearLayout betterCaptionLinearLayout;

Expand Down Expand Up @@ -292,6 +301,17 @@ public void bind(int position) {
descItemEditText.addTextChangedListener(descriptionListener);
initLanguage(position, uploadMediaDetail);

if (fragment != null) {
FrameLayout.LayoutParams newLayoutParams = (FrameLayout.LayoutParams) clParent.getLayoutParams();
newLayoutParams.topMargin = 0;
newLayoutParams.leftMargin = 0;
newLayoutParams.rightMargin = 0;
newLayoutParams.bottomMargin = 0;
clParent.setLayoutParams(newLayoutParams);
}
updateAddButtonVisibility();
addButton.setOnClickListener(v -> eventListener.addLanguage());

//If the description was manually added by the user, it deserves focus, if not, let the user decide
if (uploadMediaDetail.isManuallyAdded()) {
captionItemEditText.requestFocus();
Expand Down Expand Up @@ -557,6 +577,55 @@ public String convertIdeographicSpaceToLatinSpace(String source) {

}

/**
* Hides the visibility of the "Add" button for all items in the RecyclerView except
* the last item in RecyclerView
*/
private void updateAddButtonVisibility() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add some Javadoc?

Copy link
Contributor Author

@kanahia1 kanahia1 Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure! and Thanks for reporting, I have added javadoc in newer commit f425ead

int lastItemPosition = getItemCount() - 1;
// Hide Add Button for all items
for (int i = 0; i < getItemCount(); i++) {
if (fragment != null) {
if (fragment.getView() != null) {
ViewHolder holder = (ViewHolder) ((RecyclerView) fragment.getView()
.findViewById(R.id.rv_descriptions)).findViewHolderForAdapterPosition(i);
if (holder != null) {
holder.addButton.setVisibility(View.GONE);
}
}
} else {
if (this.activity != null) {
ViewHolder holder = (ViewHolder) ((RecyclerView) activity.findViewById(
R.id.rv_descriptions_captions)).findViewHolderForAdapterPosition(i);
if (holder != null) {
holder.addButton.setVisibility(View.GONE);
}
}
}
}

// Show Add Button for the last item
if (fragment != null) {
if (fragment.getView() != null) {
ViewHolder lastItemHolder = (ViewHolder) ((RecyclerView) fragment.getView()
.findViewById(R.id.rv_descriptions)).findViewHolderForAdapterPosition(
lastItemPosition);
if (lastItemHolder != null) {
lastItemHolder.addButton.setVisibility(View.VISIBLE);
}
}
} else {
if (this.activity != null) {
ViewHolder lastItemHolder = (ViewHolder) ((RecyclerView) activity
.findViewById(R.id.rv_descriptions_captions)).findViewHolderForAdapterPosition(
lastItemPosition);
if (lastItemHolder != null) {
lastItemHolder.addButton.setVisibility(View.VISIBLE);
}
}
}
}

public interface Callback {

void showAlert(int mediaDetailDescription, int descriptionInfo);
Expand All @@ -565,6 +634,8 @@ public interface Callback {
public interface EventListener {

void onPrimaryCaptionTextChange(boolean isNotEmpty);

void addLanguage();
}

enum SelectedVoiceIcon {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,12 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements
public static final String LAST_ZOOM = "last_zoom_level_while_uploading";
@BindView(R.id.tv_title)
TextView tvTitle;
@BindView(R.id.ib_map)
AppCompatImageButton ibMap;
@BindView(R.id.location_image_view)
ImageView locationImageView;
@BindView(R.id.location_text_view)
TextView locationTextView;
@BindView(R.id.ll_location_status)
LinearLayout llLocationStatus;
@BindView(R.id.ib_expand_collapse)
AppCompatImageButton ibExpandCollapse;
@BindView(R.id.ll_container_media_detail)
Expand All @@ -90,8 +94,8 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements
AppCompatButton btnNext;
@BindView(R.id.btn_previous)
AppCompatButton btnPrevious;
@BindView(R.id.edit_image)
AppCompatButton editImage;
@BindView(R.id.ll_edit_image)
LinearLayout llEditImage;
@BindView(R.id.tooltip)
ImageView tooltip;

Expand Down Expand Up @@ -195,13 +199,15 @@ private void init() {
// If the image EXIF data contains the location, show the map icon with a green tick
if (inAppPictureLocation != null ||
(uploadableFile != null && uploadableFile.hasLocation())) {
Drawable mapTick = getResources().getDrawable(R.drawable.ic_map_tick_white_24dp);
ibMap.setImageDrawable(mapTick);
Drawable mapTick = getResources().getDrawable(R.drawable.ic_map_available_20dp);
locationImageView.setImageDrawable(mapTick);
locationTextView.setText(R.string.edit_location);
} else {
// Otherwise, show the map icon with a red question mark
Drawable mapQuestionMark =
getResources().getDrawable(R.drawable.ic_map_question_white_24dp);
ibMap.setImageDrawable(mapQuestionMark);
getResources().getDrawable(R.drawable.ic_map_not_available_20dp);
locationImageView.setImageDrawable(mapQuestionMark);
locationTextView.setText(R.string.add_location);
}

//If this is the last media, we have nothing to copy, lets not show the button
Expand Down Expand Up @@ -269,15 +275,7 @@ public void onPreviousButtonClicked() {
callback.onPreviousButtonClicked(callback.getIndexInViewFlipper(this));
}

@OnClick(R.id.btn_add_description)
public void onButtonAddDescriptionClicked() {
UploadMediaDetail uploadMediaDetail = new UploadMediaDetail();
uploadMediaDetail.setManuallyAdded(true);//This was manually added by the user
uploadMediaDetailAdapter.addDescription(uploadMediaDetail);
rvDescriptions.smoothScrollToPosition(uploadMediaDetailAdapter.getItemCount()-1);
}

@OnClick(R.id.edit_image)
@OnClick(R.id.ll_edit_image)
public void onEditButtonClicked() {
presenter.onEditButtonClicked(callback.getIndexInViewFlipper(this));
}
Expand Down Expand Up @@ -619,8 +617,9 @@ public void editLocation(final String latitude, final String longitude, final do
editableUploadItem.getGpsCoords().setZoomLevel(zoom);

// Replace the map icon using the one with a green tick
Drawable mapTick = getResources().getDrawable(R.drawable.ic_map_tick_white_24dp);
ibMap.setImageDrawable(mapTick);
Drawable mapTick = getResources().getDrawable(R.drawable.ic_map_available_20dp);
locationImageView.setImageDrawable(mapTick);
locationTextView.setText(R.string.edit_location);

Toast.makeText(getContext(), "Location Updated", Toast.LENGTH_LONG).show();

Expand Down Expand Up @@ -682,8 +681,8 @@ public void onDestroyView() {
presenter.onDetachView();
}

@OnClick(R.id.rl_container_title)
public void onRlContainerTitleClicked() {
@OnClick(R.id.ll_container_title)
public void onLlContainerTitleClicked() {
expandCollapseLlMediaDetail(!isExpanded);
}

Expand All @@ -697,7 +696,7 @@ private void expandCollapseLlMediaDetail(boolean shouldExpand){
ibExpandCollapse.setRotation(ibExpandCollapse.getRotation() + 180);
}

@OnClick(R.id.ib_map) public void onIbMapClicked() {
@OnClick(R.id.ll_location_status) public void onIbMapClicked() {
presenter.onMapIconClicked(callback.getIndexInViewFlipper(this));
}

Expand All @@ -711,6 +710,17 @@ public void onPrimaryCaptionTextChange(boolean isNotEmpty) {
btnNext.setAlpha(isNotEmpty ? 1.0f : 0.5f);
}

/**
* Adds new language item to RecyclerView
*/
@Override
public void addLanguage() {
UploadMediaDetail uploadMediaDetail = new UploadMediaDetail();
uploadMediaDetail.setManuallyAdded(true);//This was manually added by the user
uploadMediaDetailAdapter.addDescription(uploadMediaDetail);
rvDescriptions.smoothScrollToPosition(uploadMediaDetailAdapter.getItemCount()-1);
}

public interface UploadMediaDetailFragmentCallback extends Callback {

void deletePictureAtIndex(int index);
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/drawable/ic_add.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector android:height="24dp" android:tint="?attr/editTextColor"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#8F000000" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>
4 changes: 4 additions & 0 deletions app/src/main/res/drawable/ic_arrow_16dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="16dp" android:viewportHeight="28"
android:viewportWidth="28" android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#2D8BA4" android:pathData="M14,0L11.533,2.467L21.298,12.25H0V15.75H21.298L11.533,25.532L14,28L28,14L14,0Z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_image_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#2D8BA4"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_map_available_20dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="20dp" android:viewportHeight="35"
android:viewportWidth="40" android:width="22.857143dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#2D8BA4" android:pathData="M12,0C5.374,0 0,5.374 0,12C0,21 12,34.286 12,34.286C12,34.286 24,21 24,12C24,5.374 18.626,0 12,0ZM12,16.286C9.634,16.286 7.714,14.366 7.714,12C7.714,9.634 9.634,7.714 12,7.714C14.366,7.714 16.286,9.634 16.286,12C16.286,14.366 14.366,16.286 12,16.286Z"/>
<path android:fillColor="#0CC18B" android:pathData="M27.111,33.579C26.879,33.809 26.551,34 26.261,34C25.972,34 25.644,33.799 25.403,33.569L20,28.212L21.717,26.51L26.271,31.025L38.312,19L40,20.732L27.111,33.579Z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_map_not_available_20dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="20dp" android:viewportHeight="35"
android:viewportWidth="33" android:width="18.857143dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#2D8BA4" android:pathData="M12,0C5.374,0 0,5.374 0,12C0,21 12,34.286 12,34.286C12,34.286 24,21 24,12C24,5.374 18.626,0 12,0ZM12,16.286C9.634,16.286 7.714,14.366 7.714,12C7.714,9.634 9.634,7.714 12,7.714C14.366,7.714 16.286,9.634 16.286,12C16.286,14.366 14.366,16.286 12,16.286Z"/>
<path android:fillColor="#FF1D1E" android:pathData="M27.764,18.49C29.26,18.49 30.455,18.901 31.35,19.722C32.259,20.544 32.714,21.666 32.714,23.088C32.714,24.57 32.244,25.684 31.306,26.432C30.367,27.18 29.121,27.554 27.566,27.554L27.478,29.292H25.3L25.19,25.838H25.916C27.338,25.838 28.424,25.648 29.172,25.266C29.934,24.885 30.316,24.159 30.316,23.088C30.316,22.311 30.088,21.702 29.634,21.262C29.194,20.822 28.578,20.602 27.786,20.602C26.994,20.602 26.371,20.815 25.916,21.24C25.461,21.666 25.234,22.26 25.234,23.022H22.88C22.88,22.142 23.078,21.358 23.474,20.668C23.87,19.979 24.434,19.444 25.168,19.062C25.916,18.681 26.781,18.49 27.764,18.49ZM26.356,34.154C25.901,34.154 25.52,34 25.212,33.692C24.904,33.384 24.75,33.003 24.75,32.548C24.75,32.094 24.904,31.712 25.212,31.404C25.52,31.096 25.901,30.942 26.356,30.942C26.796,30.942 27.17,31.096 27.478,31.404C27.786,31.712 27.94,32.094 27.94,32.548C27.94,33.003 27.786,33.384 27.478,33.692C27.17,34 26.796,34.154 26.356,34.154Z"/>
</vector>
8 changes: 0 additions & 8 deletions app/src/main/res/layout/activity_description_edit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_add_description"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="@dimen/fragment_height"
android:text="+" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_edit_submit"
android:layout_width="wrap_content"
Expand Down
Loading