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
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,11 @@
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.a494studios.koreanconjugator.ConjugationNamesQuery;
import com.a494studios.koreanconjugator.CustomApplication;
Expand All @@ -23,6 +19,7 @@
import com.a494studios.koreanconjugator.parsing.Favorite;
import com.a494studios.koreanconjugator.parsing.Server;
import com.apollographql.apollo.api.Response;
import com.google.android.material.floatingactionbutton.FloatingActionButton;

import java.util.ArrayList;
import java.util.HashMap;
Expand Down Expand Up @@ -50,15 +47,18 @@ protected void onCreate(Bundle savedInstanceState) {
adapter = new FavoritesAdapter(Utils.getFavorites(this));
listView.setAdapter(adapter);

FloatingActionButton fab = findViewById(R.id.fav_fab);
fab.setEnabled(false);

Server.doConjugationNamesQuery((CustomApplication)getApplication())
.subscribeWith(new DisposableObserver<Response<ConjugationNamesQuery.Data>>() {
@Override
public void onNext(Response<ConjugationNamesQuery.Data> response) {
if (response.data() == null) {
if (response.getData() == null) {
return;
}

List<String> names = response.data().conjugationNames();
List<String> names = response.getData().conjugationNames();
HashMap<String, Boolean> data = new HashMap<>();
for (String name : names) {
name = name.toLowerCase();
Expand All @@ -82,6 +82,7 @@ public void onNext(Response<ConjugationNamesQuery.Data> response) {
}
}
addFavoriteFragment = AddFavoriteFragment.newInstance(data);
fab.setEnabled(true);
}

@Override
Expand Down Expand Up @@ -142,60 +143,4 @@ public void onAddFavorite(View view) {
addFavoriteFragment.show(getSupportFragmentManager(),"add_fav_frag");
}

private class FavoritesAdapter extends BaseAdapter {

private ArrayList<Favorite> entries;
private static final int RESOURCE_ID = R.layout.item_setting_fav;

FavoritesAdapter(ArrayList<Favorite> entries) {
this.entries = entries;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null) {
view = LayoutInflater.from(viewGroup.getContext()).inflate(RESOURCE_ID, viewGroup, false);
}

Favorite favorite = entries.get(i);
((TextView)view.findViewById(R.id.item_fav_title)).setText(favorite.getName());
((TextView)view.findViewById(R.id.item_fav_subtitle)).setText(Utils.toTitleCase(favorite.getConjugationName()));
if(favorite.isHonorific()) {
view.findViewById(R.id.item_fav_honorific).setVisibility(View.VISIBLE);
} else {
view.findViewById(R.id.item_fav_honorific).setVisibility(View.GONE);
}
return view;
}

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

@Override
public Favorite getItem(int i) {
return entries.get(i);
}

@Override
public long getItemId(int position) {
return position;
}

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

public ArrayList<Favorite> remove(Favorite entry){
entries.remove(entry);
return entries;
}

public ArrayList<Favorite> add(Favorite entry){
entries.add(entry);
return entries;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package com.a494studios.koreanconjugator.settings;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.a494studios.koreanconjugator.R;
import com.a494studios.koreanconjugator.parsing.Favorite;
import com.a494studios.koreanconjugator.utils.Utils;

import java.util.ArrayList;

class FavoritesAdapter extends BaseAdapter {

private ArrayList<Favorite> entries;
private static final int RESOURCE_ID = R.layout.item_setting_fav;

FavoritesAdapter(ArrayList<Favorite> entries) {
this.entries = entries;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null) {
view = LayoutInflater.from(viewGroup.getContext()).inflate(RESOURCE_ID, viewGroup, false);
}

Favorite favorite = entries.get(i);
((TextView)view.findViewById(R.id.item_fav_title)).setText(favorite.getName());
((TextView)view.findViewById(R.id.item_fav_subtitle)).setText(Utils.toTitleCase(favorite.getConjugationName()));
if(favorite.isHonorific()) {
view.findViewById(R.id.item_fav_honorific).setVisibility(View.VISIBLE);
} else {
view.findViewById(R.id.item_fav_honorific).setVisibility(View.GONE);
}
return view;
}

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

@Override
public Favorite getItem(int i) {
return entries.get(i);
}

@Override
public long getItemId(int position) {
return position;
}

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

public ArrayList<Favorite> remove(Favorite entry){
entries.remove(entry);
return entries;
}

public ArrayList<Favorite> add(Favorite entry){
entries.add(entry);
return entries;
}
}