Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 6 additions & 11 deletions app/src/main/java/com/a494studios/koreanconjugator/SearchCard.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import androidx.appcompat.widget.SearchView;

import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.a494studios.koreanconjugator.display.cards.DisplayCardBody;

import static android.content.Context.SEARCH_SERVICE;
Expand All @@ -20,14 +21,18 @@ public class SearchCard implements DisplayCardBody {
public SearchCard(Activity activity){
this.activity = activity;
}

@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = View.inflate(context, R.layout.dcard_search,parentView);
}
searchView = view.findViewById(R.id.searchCard_search);
SearchManager searchManager = (SearchManager) context.getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(activity.getComponentName()));

cardView.hideButton(true);

return view;
}

Expand All @@ -40,21 +45,11 @@ public void onButtonClick() {
// Empty on purpose
}

@Override
public boolean shouldHideButton() {
return true;
}

@Override
public int getCount() {
return 1;
}

@Override
public String getButtonText() {
return "Button";
}

@Override
public String getHeading() {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import androidx.appcompat.app.AppCompatActivity;

import com.a494studios.koreanconjugator.display.DisplayActivity;
import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.a494studios.koreanconjugator.display.cards.DisplayCardBody;
import com.a494studios.koreanconjugator.parsing.Server;
import com.a494studios.koreanconjugator.utils.Utils;
Expand All @@ -24,11 +25,14 @@ public class WordOfDayCard implements DisplayCardBody {

@SuppressLint("CheckResult")
@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = View.inflate(context, R.layout.dcard_wod,parentView);
}

cardView.setButtonText(context.getString(R.string.see_entry));
cardView.disableButton(true);

Server.doWODQuery((CustomApplication)context.getApplicationContext())
.subscribeWith(new DisposableObserver<Response<WordOfTheDayQuery.Data>>() {
@Override
Expand All @@ -37,6 +41,7 @@ public void onNext(Response<WordOfTheDayQuery.Data> dataResponse) {
textView.setText(dataResponse.data().wordOfTheDay.term);

id = dataResponse.data().wordOfTheDay.id;
cardView.disableButton(false);
}

@Override
Expand All @@ -61,21 +66,11 @@ public void onButtonClick() {
view.getContext().startActivity(intent);
}

@Override
public boolean shouldHideButton() {
return false;
}

@Override
public int getCount() {
return 1;
}

@Override
public String getButtonText() {
return view.getContext().getString(R.string.see_entry);
}

@Override
public String getHeading() {
return "Word of the Day";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@ private void init(Context context){

// pre: cardBody is not null
private void cardBodyUpdates() {
cardBody.addBodyView(context,linearLayout); // Add body view to linear layout
hideButton(cardBody.shouldHideButton());
button.setText(cardBody.getButtonText());
cardBody.addBodyView(context, linearLayout, this); // Add body view to linear layout
String heading = cardBody.getHeading();
if(heading != null) {
headingView.setVisibility(VISIBLE);
Expand All @@ -67,12 +65,9 @@ private void cardBodyUpdates() {
}

private void setButtonListener() {
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
cardBody.onButtonClick();
cardBodyUpdates();
}
button.setOnClickListener(view -> {
cardBody.onButtonClick();
cardBodyUpdates();
});
}

Expand All @@ -89,7 +84,15 @@ public void showHonorificChip(boolean shouldShow) {
}
}

private void hideButton(boolean shouldHide){
public void setButtonText(String text) {
button.setText(text);
}

public void disableButton(boolean shouldDisable){
button.setEnabled(!shouldDisable); // Need to reverse boolean
}

public void hideButton(boolean shouldHide){
if(shouldHide){
button.setVisibility(GONE);
linearLayout.setPadding(0,0,0,32);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.widget.RelativeLayout;

import com.a494studios.koreanconjugator.R;
import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
Expand All @@ -23,7 +24,7 @@ public AdCard(String adUnitId) {
}

@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = View.inflate(context, R.layout.dcard_ad,parentView);
}
Expand All @@ -44,6 +45,9 @@ public View addBodyView(Context context, ViewGroup parentView) {
container.addView(adView);

adView.loadAd(new AdRequest.Builder().build());

cardView.hideButton(true);

return view;
}

Expand All @@ -52,21 +56,11 @@ public void onButtonClick() {
// Empty on purpose
}

@Override
public boolean shouldHideButton() {
return true;
}

@Override
public int getCount() {
return 1;
}

@Override
public String getButtonText() {
return "Button";
}

@Override
public String getHeading() {
return "Ad";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.widget.TextView;

import com.a494studios.koreanconjugator.R;
import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.a494studios.koreanconjugator.utils.Utils;
import com.a494studios.koreanconjugator.display.adapters.ExplanationsAdapter;
import com.linearlistview.LinearListView;
Expand All @@ -31,7 +32,7 @@ public ConjInfoCard(String name, String conjugated, String pronunciation, String
}

@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = View.inflate(context, R.layout.dcard_conj_info,parentView);
}
Expand All @@ -42,6 +43,9 @@ public View addBodyView(Context context, ViewGroup parentView) {

LinearListView listView = view.findViewById(R.id.conjInfo_explainList);
listView.setAdapter(new ExplanationsAdapter(explanations));

cardView.hideButton(true);

return view;
}

Expand All @@ -50,21 +54,11 @@ public void onButtonClick(){
// Empty on purpose
}

@Override
public boolean shouldHideButton() {
return true;
}

@Override
public int getCount() {
return 1;
}

@Override
public String getButtonText() {
return "Button";
}

@Override
public String getHeading() {
return name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.view.ViewGroup;

import com.a494studios.koreanconjugator.display.ConjInfoActivity;
import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.a494studios.koreanconjugator.display.adapters.ConjugationAdapter;
import com.a494studios.koreanconjugator.ConjugationQuery;
import com.a494studios.koreanconjugator.R;
Expand Down Expand Up @@ -37,7 +38,7 @@ public ConjugationCard(List<ConjugationQuery.Conjugation> conjugations, String t
}

@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = View.inflate(context, R.layout.dcard_list,parentView);
}
Expand All @@ -58,6 +59,9 @@ public View addBodyView(Context context, ViewGroup parentView) {
i.putExtra(ConjInfoActivity.EXTRA_HONO, conjugation.honorific());
view.getContext().startActivity(i);
});

cardView.hideButton(true);

return view;
}

Expand All @@ -66,21 +70,11 @@ public void onButtonClick() {
// Empty on purpose
}

@Override
public boolean shouldHideButton() {
return true;
}

@Override
public int getCount() {
return adapter.getCount();
}

@Override
public String getButtonText() {
return "Button";
}

@Override
public String getHeading() {
return heading;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.view.View;
import android.view.ViewGroup;

import com.a494studios.koreanconjugator.display.DisplayCardView;
import com.a494studios.koreanconjugator.utils.WordInfoView;

import java.util.List;
Expand All @@ -16,6 +17,7 @@ public class DefPOSCard implements DisplayCardBody {
private List<String> definitions;
private WordInfoView view;
private String buttonText;
private DisplayCardView cardView;

public DefPOSCard(String term, String pos, List<String> definitions) {
this.term = Objects.requireNonNull(term);
Expand All @@ -25,19 +27,19 @@ public DefPOSCard(String term, String pos, List<String> definitions) {
}

@Override
public boolean shouldHideButton() {
return definitions.size() <= 3; // show if more than 3 definitions
}

@Override
public View addBodyView(Context context, ViewGroup parentView) {
public View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView) {
if(view == null) {
view = new WordInfoView(context, term, pos, definitions, false);
}

if(view.getParent() == null) {
parentView.addView(view);
}

this.cardView = cardView;
cardView.hideButton(definitions.size() <= 3);
cardView.setButtonText(buttonText);

return view;
}

Expand All @@ -50,18 +52,14 @@ public void onButtonClick() {
buttonText = "COLLAPSE";
}
view.clickShowAll(!showingAll);
cardView.setButtonText(buttonText);
}

@Override
public int getCount() {
return definitions.size();
}

@Override
public String getButtonText() {
return buttonText;
}

@Override
public String getHeading() {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import android.view.View;
import android.view.ViewGroup;

import com.a494studios.koreanconjugator.display.DisplayCardView;

public interface DisplayCardBody {
View addBodyView(Context context, ViewGroup parentView);
View addBodyView(Context context, ViewGroup parentView, DisplayCardView cardView);
void onButtonClick();
boolean shouldHideButton();
int getCount();
String getButtonText();
String getHeading();
}
Loading