From 6ae6d9cc24d9070b9bdb3eff8e21ae836c7074ad Mon Sep 17 00:00:00 2001 From: FireCode <69737708+firecode16@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:04:03 -0600 Subject: [PATCH 01/17] firecode16 --- app/build.gradle | 6 +- .../com/brain/activities/HomeActivity.java | 37 ++- .../com/brain/adapters/MultimediaAdapter.java | 2 - .../com/brain/fragments/GenericFragment.java | 4 +- .../brain/holders/MultimediaViewHolder.java | 8 +- .../java/com/brain/model/ImageBinary.java | 34 --- .../com/brain/service/VideoPlayService.kt | 24 +- app/src/main/java/com/brain/util/Util.java | 4 +- .../main/res/drawable-v24/ic_github_50.png | Bin 0 -> 1037 bytes .../main/res/drawable-v24/ic_my_profile.png | Bin 5339 -> 0 bytes .../main/res/drawable-v24/ic_profile_50.png | Bin 0 -> 1472 bytes .../main/res/drawable-v24/ic_setting_50.png | Bin 0 -> 809 bytes app/src/main/res/drawable-v24/ic_share_52.png | Bin 0 -> 771 bytes .../main/res/drawable-v24/ic_upload_50.png | Bin 0 -> 376 bytes .../res/drawable/ic_play_circle_outline.xml | 11 - .../main/res/drawable/shape_retry_round.xml | 2 +- app/src/main/res/layout/activity_home.xml | 11 +- app/src/main/res/layout/activity_login.xml | 10 +- app/src/main/res/layout/activity_register.xml | 11 +- app/src/main/res/layout/container_cards.xml | 232 +++++------------- app/src/main/res/layout/container_chat.xml | 17 +- app/src/main/res/layout/footer_loading.xml | 9 +- .../main/res/layout/fragment_image_slider.xml | 6 +- .../res/layout/image_fullscreen_preview.xml | 3 +- app/src/main/res/layout/layout_fab.xml | 11 +- app/src/main/res/layout/layout_login.xml | 6 +- app/src/main/res/layout/layout_register.xml | 12 +- app/src/main/res/menu/menu_main.xml | 9 +- app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- imageslider/build.gradle | 9 +- .../com/denzcoskun/imageslider/ImageSlider.kt | 39 ++- .../imageslider/adapters/ViewPagerAdapter.kt | 13 +- .../transformation/RoundedTransformation.kt | 136 +++++----- 34 files changed, 248 insertions(+), 422 deletions(-) delete mode 100644 app/src/main/java/com/brain/model/ImageBinary.java create mode 100644 app/src/main/res/drawable-v24/ic_github_50.png delete mode 100644 app/src/main/res/drawable-v24/ic_my_profile.png create mode 100644 app/src/main/res/drawable-v24/ic_profile_50.png create mode 100644 app/src/main/res/drawable-v24/ic_setting_50.png create mode 100644 app/src/main/res/drawable-v24/ic_share_52.png create mode 100644 app/src/main/res/drawable-v24/ic_upload_50.png delete mode 100644 app/src/main/res/drawable/ic_play_circle_outline.xml diff --git a/app/build.gradle b/app/build.gradle index 2c126ec..ce28ad1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,10 +39,12 @@ dependencies { implementation 'com.android.volley:volley:1.2.1' implementation 'in.srain.cube:grid-view-with-header-footer:1.0.12' implementation 'de.hdodenhof:circleimageview:3.1.0' - implementation 'com.google.android.exoplayer:exoplayer:2.19.1' implementation 'com.google.android.material:material:1.11.0' - implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.code.gson:gson:2.10.1' + implementation 'androidx.media3:media3-exoplayer:1.3.0' + implementation 'androidx.media3:media3-exoplayer-dash:1.3.0' + implementation 'androidx.media3:media3-ui:1.3.0' + implementation 'androidx.appcompat:appcompat:1.6.1' implementation "androidx.cardview:cardview:1.0.0" implementation "androidx.recyclerview:recyclerview:1.3.2" implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/brain/activities/HomeActivity.java b/app/src/main/java/com/brain/activities/HomeActivity.java index f397ace..553a3d6 100644 --- a/app/src/main/java/com/brain/activities/HomeActivity.java +++ b/app/src/main/java/com/brain/activities/HomeActivity.java @@ -111,27 +111,22 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - switch (id) { - case R.id.action_search: - SearchView search = (SearchView) item.getActionView(); - search.setSubmitButtonEnabled(false); - search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String query) { - return false; - } - - @Override - public boolean onQueryTextChange(String newText) { - return false; - } - }); - break; - case R.id.action_play_music: - Toast.makeText(getApplication(), "Play Music >>", Toast.LENGTH_SHORT).show(); - break; - default: - break; + if (id == R.id.action_search) { + SearchView search = (SearchView) item.getActionView(); + assert search != null; + search.setSubmitButtonEnabled(false); + search.setQueryHint("Project, author..."); + search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { + @Override + public boolean onQueryTextSubmit(String query) { + return false; + } + + @Override + public boolean onQueryTextChange(String newText) { + return false; + } + }); } return super.onOptionsItemSelected(item); } diff --git a/app/src/main/java/com/brain/adapters/MultimediaAdapter.java b/app/src/main/java/com/brain/adapters/MultimediaAdapter.java index 66ca41e..899d9b8 100644 --- a/app/src/main/java/com/brain/adapters/MultimediaAdapter.java +++ b/app/src/main/java/com/brain/adapters/MultimediaAdapter.java @@ -106,8 +106,6 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi case VIEW_TYPE_ITEM: final MultimediaViewHolder multimediaViewHolder = (MultimediaViewHolder) holder; multimediaViewHolder.userName.setText(getProfile().getUserName()); - multimediaViewHolder.visits.setText(String.valueOf(23)); - multimediaViewHolder.description.setText(mediaDetail.getOverview()); List contentList = mediaDetail.getContent(); if (contentList.size() == 1) { diff --git a/app/src/main/java/com/brain/fragments/GenericFragment.java b/app/src/main/java/com/brain/fragments/GenericFragment.java index 616357c..528c07b 100644 --- a/app/src/main/java/com/brain/fragments/GenericFragment.java +++ b/app/src/main/java/com/brain/fragments/GenericFragment.java @@ -181,7 +181,7 @@ private Result fetchResults(Response response) { } private Call callTopRatedMultimediaApi() { - return apiRestImpl.getTopRatedMultimedia(190881L, currentPage, ITEMS_SIZE); + return apiRestImpl.getTopRatedMultimedia(111101L, currentPage, ITEMS_SIZE); } private void showErrorView(Throwable throwable) { @@ -222,7 +222,7 @@ public void onResponse(@NonNull Call call, @NonNull Response mediaDetailList = result.getPost(); progressBar.setVisibility(View.GONE); diff --git a/app/src/main/java/com/brain/holders/MultimediaViewHolder.java b/app/src/main/java/com/brain/holders/MultimediaViewHolder.java index 4603a97..d5d5850 100644 --- a/app/src/main/java/com/brain/holders/MultimediaViewHolder.java +++ b/app/src/main/java/com/brain/holders/MultimediaViewHolder.java @@ -6,14 +6,14 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.media3.ui.PlayerView; import androidx.recyclerview.widget.RecyclerView; import com.brain.R; import com.denzcoskun.imageslider.ImageSlider; -import com.google.android.exoplayer2.ui.StyledPlayerView; public class MultimediaViewHolder extends RecyclerView.ViewHolder { - public StyledPlayerView videoPost; + public PlayerView videoPost; public ProgressBar progressBar; public ImageView volumeControl; @@ -21,8 +21,6 @@ public class MultimediaViewHolder extends RecyclerView.ViewHolder { public ImageSlider imageSlider; public TextView userName; - public TextView description; - public TextView visits; public MultimediaViewHolder(@NonNull View itemView) { super(itemView); @@ -34,7 +32,5 @@ public MultimediaViewHolder(@NonNull View itemView) { imageSlider = itemView.findViewById(R.id.imageSlider); userName = itemView.findViewById(R.id.userName); - description = itemView.findViewById(R.id.descriptionPost); - visits = itemView.findViewById(R.id.visits); } } diff --git a/app/src/main/java/com/brain/model/ImageBinary.java b/app/src/main/java/com/brain/model/ImageBinary.java deleted file mode 100644 index 8963ca5..0000000 --- a/app/src/main/java/com/brain/model/ImageBinary.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.brain.model; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -/** - * @Author FLE - * @Company Brain Inc. - * @Email hfredi35@gmail.com - */ -public class ImageBinary { - @SerializedName("type") - @Expose - private String type; - @SerializedName("data") - @Expose - private String data; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } -} diff --git a/app/src/main/java/com/brain/service/VideoPlayService.kt b/app/src/main/java/com/brain/service/VideoPlayService.kt index dadc6e7..9772e82 100644 --- a/app/src/main/java/com/brain/service/VideoPlayService.kt +++ b/app/src/main/java/com/brain/service/VideoPlayService.kt @@ -3,17 +3,16 @@ package com.brain.service import android.content.Context import android.util.Log import android.view.View +import androidx.media3.common.MediaItem +import androidx.media3.common.Player +import androidx.media3.datasource.DataSource +import androidx.media3.datasource.DefaultHttpDataSource +import androidx.media3.exoplayer.ExoPlayer +import androidx.media3.exoplayer.source.DefaultMediaSourceFactory +import androidx.media3.exoplayer.source.MediaSource +import androidx.media3.exoplayer.source.ProgressiveMediaSource import com.brain.R import com.brain.holders.MultimediaViewHolder -import com.google.android.exoplayer2.ExoPlayer -import com.google.android.exoplayer2.MediaItem -import com.google.android.exoplayer2.Player -import com.google.android.exoplayer2.source.DefaultMediaSourceFactory -import com.google.android.exoplayer2.source.MediaSource -import com.google.android.exoplayer2.source.MediaSourceFactory -import com.google.android.exoplayer2.source.ProgressiveMediaSource -import com.google.android.exoplayer2.upstream.DataSource -import com.google.android.exoplayer2.upstream.DefaultHttpDataSource /** * @Author FLE @@ -36,7 +35,7 @@ class VideoPlayService { private lateinit var exoPlayer: ExoPlayer private lateinit var dataSourceFactory: DataSource.Factory private lateinit var mediaSource: MediaSource - private lateinit var mediaSourceFactory: MediaSourceFactory + private lateinit var mediaSourceFactory: MediaSource.Factory fun releaseAllPlayers() { playersMap.map { it.value.release() } @@ -64,6 +63,7 @@ class VideoPlayService { } } + @androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class) fun initPlayer(context: Context, url: String, itemIndex: Int? = null, autoPlay: Boolean = false, holder: MultimediaViewHolder) { dataSourceFactory = DefaultHttpDataSource.Factory() mediaSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(MediaItem.fromUri(url)) @@ -112,7 +112,7 @@ class VideoPlayService { private fun getAnimateVolumeControl(holder: MultimediaViewHolder) { if (holder.volumeControl != null) { - holder.volumeControl.bringToFront(); + holder.volumeControl.bringToFront() if (volumeState == VolumeState.OFF) { holder.volumeControl.setImageResource(R.drawable.ic_volume_off) } else if (volumeState == VolumeState.ON) { @@ -122,7 +122,7 @@ class VideoPlayService { } private fun setVolumeControl(state: VolumeState, holder: MultimediaViewHolder) { - volumeState = state; + volumeState = state if (state == VolumeState.OFF) { exoPlayer.volume = 0F getAnimateVolumeControl(holder) diff --git a/app/src/main/java/com/brain/util/Util.java b/app/src/main/java/com/brain/util/Util.java index 6a9d822..4750d34 100644 --- a/app/src/main/java/com/brain/util/Util.java +++ b/app/src/main/java/com/brain/util/Util.java @@ -17,14 +17,14 @@ public class Util { private final Context context; - public static final String URL = "http://000.000.0.000:8081/api/"; + public static final String URL = "http://000.000.0.000:8080/api/"; public static final String URL_PART = "multimedia/"; public static final String VIDEO_MP4 = "video/mp4"; public static int[] getTabIcon = { R.drawable.ic_home_public, R.drawable.ic_chat, - R.drawable.ic_profile + R.drawable.ic_setting_50 }; public Util(Context context) { diff --git a/app/src/main/res/drawable-v24/ic_github_50.png b/app/src/main/res/drawable-v24/ic_github_50.png new file mode 100644 index 0000000000000000000000000000000000000000..59e272a05aeba5a360a70d35a6e79e1daa0e45bd GIT binary patch literal 1037 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/ic_share_52.png b/app/src/main/res/drawable-v24/ic_share_52.png new file mode 100644 index 0000000000000000000000000000000000000000..31b5f5a4de024e75423729f2f67966612f97e636 GIT binary patch literal 771 zcmV+e1N{7nP)n7Gn_tI;Y>BS-txU%rMDS9mv zTU3Lg@oq6~n%L5;Dh&LA!bc{C(8I0gVObzx`W{80m{hanU}Rb-C=JbHKLGZu_2uxQ_4=d;qZBcN0)V9y) zaJzlH4NPyng2;mAw5%S{ijwrRuHMs;?3QKRUkZfj!ZLoejKBUHrkEigs^}5@bA5;! zK=$>ejMBBAb@gSHxcBSaG+RcGR0YxW)HJ>FFh#G`k?gT$dZn$Aru(>~z+>&#w3@Y# zHrD2*nO6|O11%gTYCR&Q);s+snN`sv@UOEbc<3C&g&vu;Bi(*_*Q}}@fxkc?&+d5z znTEF9^&NOTS4m((1~d)GGJa`R$_eedEDGMi5=qe^kpHsXKH69t^+k@Myq57qXuUD5 z&op$3?+vO%b2@&>xUFqjHGin+wLowyw0wY^9!ws5(YY+=59t)Y)R|)Z+!0Jd3p^;} z4{4#$!MAFUiP##BG>K{xrk5k@A|eS6f?LLAgcy=oAO4WfF&6mrhrA6M#j`);dK7F! z`9rS2Y-oR|F?Nb8!^<+Bnb1+M9z(zWkOw`s6Pl-1J!W0|Lq7GGb?FZU(PR0X!F`BW zMvqy>XC}I+pvPdIKNL%p)?>23ABrhv>9Ml@&~F|)gR!bvUi<(6002ovPDHLkV1nwK BYF_{V literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/ic_upload_50.png b/app/src/main/res/drawable-v24/ic_upload_50.png new file mode 100644 index 0000000000000000000000000000000000000000..915a9aaf69f868412c05247ed20bedf13f35ab44 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DX&fq_xW z)5S5QV$R#CfnG-(1YBMVy>?r#6c_&|xFj(Db4m%*EuQIKyZSywNtzW&Tck0{9pOZ8vWzE-{`Bx$z5 z_HxCwcxIcet#f`qoGbkD`m}#<7H>MtI&tL!mq~%bg-wmwDXoRmtT!LBI6XHqan93o zYYfg6rH4tR?=;r#*?ecF=&{ImXSg2gl&29=X1AB4fZyg1yP&kz#FQ0klX$MWOj - - diff --git a/app/src/main/res/drawable/shape_retry_round.xml b/app/src/main/res/drawable/shape_retry_round.xml index 15a356c..a561b2b 100644 --- a/app/src/main/res/drawable/shape_retry_round.xml +++ b/app/src/main/res/drawable/shape_retry_round.xml @@ -7,5 +7,5 @@ android:width="2dp" android:color="#AAADC4" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 2771e0a..44c1b5b 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -1,8 +1,7 @@ - @@ -40,8 +39,8 @@ style="?attr/actionButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:padding="12dp" android:layout_gravity="center_vertical" + android:padding="10dp" android:src="@drawable/ic_avatar" tools:ignore="ContentDescription" /> @@ -52,8 +51,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="true" - app:tabIndicatorHeight="@dimen/selected_tab_indicator_height" - app:tabIndicatorColor="@color/selectedTabIndicatorColor" /> + app:tabIndicatorColor="@color/selectedTabIndicatorColor" + app:tabIndicatorHeight="@dimen/selected_tab_indicator_height" /> diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 0a66fa8..049723f 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -12,14 +12,18 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" - android:weightSum="12"> + android:weightSum="12" + android:baselineAligned="false"> + android:orientation="horizontal" + android:gravity="center"> + android:weightSum="12" + android:baselineAligned="false"> + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="0dp" + android:paddingRight="0dp" + android:orientation="horizontal" + android:gravity="center"> - - - - - - - - - - - - - - - - - - - + android:elevation="4dp"> - - + - - - - + android:text="Proyecto e-commerce, buscamos competir vs mercado libre, shoppe y themu." + android:textColor="@color/black" + android:textSize="19sp" + android:textStyle="normal" /> - + - - + + - - + android:layout_gravity="center" + android:orientation="horizontal"> + + android:textSize="17sp" + android:textStyle="normal" /> + android:orientation="horizontal"> - - + + android:layout_height="12dp" + android:background="#DAD7D7" /> \ No newline at end of file diff --git a/app/src/main/res/layout/container_chat.xml b/app/src/main/res/layout/container_chat.xml index 1f650ba..838a138 100644 --- a/app/src/main/res/layout/container_chat.xml +++ b/app/src/main/res/layout/container_chat.xml @@ -1,5 +1,6 @@ + android:textSize="16sp" /> + android:textSize="10sp" + android:layout_alignParentEnd="true" + android:layout_alignParentTop="true" + tools:ignore="SmallSp" /> + android:background="@color/design_default_color_primary_dark" + tools:ignore="SmallSp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/footer_loading.xml b/app/src/main/res/layout/footer_loading.xml index 2581d9a..47c1b63 100644 --- a/app/src/main/res/layout/footer_loading.xml +++ b/app/src/main/res/layout/footer_loading.xml @@ -23,7 +23,8 @@ android:paddingTop="16dp" android:paddingBottom="16dp" android:visibility="gone" - tools:visibility="visible"> + tools:visibility="visible" + android:focusable="true"> + app:tint="#AAADC4" /> diff --git a/app/src/main/res/layout/fragment_image_slider.xml b/app/src/main/res/layout/fragment_image_slider.xml index f107c46..874861f 100644 --- a/app/src/main/res/layout/fragment_image_slider.xml +++ b/app/src/main/res/layout/fragment_image_slider.xml @@ -30,7 +30,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/image_fullscreen_preview.xml b/app/src/main/res/layout/image_fullscreen_preview.xml index 10dcfd4..f74bc36 100644 --- a/app/src/main/res/layout/image_fullscreen_preview.xml +++ b/app/src/main/res/layout/image_fullscreen_preview.xml @@ -11,5 +11,6 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" - android:scaleType="fitCenter" /> + android:scaleType="fitCenter" + android:contentDescription="TODO" /> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_fab.xml b/app/src/main/res/layout/layout_fab.xml index 50637ed..38b6911 100644 --- a/app/src/main/res/layout/layout_fab.xml +++ b/app/src/main/res/layout/layout_fab.xml @@ -1,6 +1,5 @@ - + android:hint="@string/login_email_hint" + android:autofillHints="" /> + android:inputType="textPassword" + android:autofillHints="" /> + android:hint="Name" + android:autofillHints="" /> + android:hint="Mobile Number" + android:autofillHints="" /> + android:hint="@string/login_email_hint" + android:autofillHints="" /> + android:inputType="textPassword" + android:autofillHints="" />