Skip to content
Snippets Groups Projects
Commit c0a7e67e authored by Adrien Béraud's avatar Adrien Béraud
Browse files

tv: cleanup

Change-Id: I7ad581177ea24f21315908d90ed66478c8246f21
parent 88a334be
No related branches found
No related tags found
No related merge requests found
......@@ -21,6 +21,8 @@
package cx.ring.tv.main;
import android.os.Bundle;
import androidx.leanback.app.BackgroundManager;
import androidx.leanback.app.GuidedStepSupportFragment;
import androidx.fragment.app.FragmentActivity;
......@@ -31,11 +33,15 @@ import cx.ring.application.RingApplication;
import cx.ring.utils.AndroidFileUtils;
public class HomeActivity extends FragmentActivity {
private BackgroundManager mBackgroundManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RingApplication.getInstance().startDaemon();
setContentView(R.layout.tv_activity_home);
mBackgroundManager = BackgroundManager.getInstance(this);
mBackgroundManager.attach(getWindow());
}
@Override
......@@ -47,6 +53,12 @@ public class HomeActivity extends FragmentActivity {
}
}
@Override
protected void onResume() {
super.onResume();
mBackgroundManager.setDrawable(getResources().getDrawable(R.drawable.tv_background));
}
@Override
protected void onStart() {
File path = AndroidFileUtils.ringtonesPath(this);
......
......@@ -33,7 +33,6 @@ import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityOptionsCompat;
import androidx.leanback.app.BackgroundManager;
import androidx.leanback.app.GuidedStepSupportFragment;
import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.HeaderItem;
......@@ -85,7 +84,6 @@ public class MainFragment extends BaseBrowseFragment<MainPresenter> implements M
private static final int QR_ITEM_POSITION = 2;
private SpinnerFragment mSpinnerFragment;
private ArrayObjectAdapter mRowsAdapter;
private BackgroundManager mBackgroundManager;
private ArrayObjectAdapter cardRowAdapter;
private ArrayObjectAdapter contactRequestRowAdapter;
private CustomTitleView titleView;
......@@ -110,14 +108,11 @@ public class MainFragment extends BaseBrowseFragment<MainPresenter> implements M
@Override
public void onResume() {
super.onResume();
mBackgroundManager.setDrawable(getResources().getDrawable(R.drawable.tv_background));
presenter.reloadAccountInfos();
}
private void setupUIElements(@NonNull Activity activity) {
selector = new CardPresenterSelector(activity);
mBackgroundManager = BackgroundManager.getInstance(activity);
mBackgroundManager.attach(activity.getWindow());
// over title
setHeadersState(HEADERS_ENABLED);
setHeadersTransitionOnBackEnabled(true);
......
......@@ -23,6 +23,8 @@ import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import androidx.leanback.app.SearchSupportFragment;
import javax.inject.Inject;
import cx.ring.R;
......@@ -30,7 +32,7 @@ import cx.ring.model.RingError;
import cx.ring.mvp.BaseView;
import cx.ring.mvp.RootPresenter;
public class BaseSearchFragment<T extends RootPresenter> extends androidx.leanback.app.SearchFragment
public class BaseSearchFragment<T extends RootPresenter> extends SearchSupportFragment
implements BaseView {
protected static final String TAG = BaseSearchFragment.class.getSimpleName();
......
......@@ -21,16 +21,13 @@ package cx.ring.tv.search;
import android.content.Intent;
import android.os.Bundle;
import androidx.leanback.app.SearchFragment;
import androidx.leanback.app.SearchSupportFragment;
import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.HeaderItem;
import androidx.leanback.widget.ListRow;
import androidx.leanback.widget.ListRowPresenter;
import androidx.leanback.widget.ObjectAdapter;
import androidx.leanback.widget.OnItemViewClickedListener;
import androidx.leanback.widget.Presenter;
import androidx.leanback.widget.Row;
import androidx.leanback.widget.RowPresenter;
import androidx.leanback.widget.SearchBar;
import androidx.leanback.widget.SearchEditText;
import androidx.core.content.ContextCompat;
import android.view.View;
......@@ -49,25 +46,28 @@ import cx.ring.tv.cards.contacts.ContactCard;
import cx.ring.utils.Log;
public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
implements SearchFragment.SearchResultProvider, RingSearchView {
implements SearchSupportFragment.SearchResultProvider, RingSearchView {
private static final String TAG = RingSearchFragment.class.getSimpleName();
@BindView(R.id.lb_search_text_editor)
SearchEditText mTextEditor;
private ArrayObjectAdapter mRowsAdapter;
@BindView(R.id.lb_search_bar)
SearchBar mSearchBar;
private final ArrayObjectAdapter mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
private Unbinder mUnbinder;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
setSearchResultProvider(this);
// dependency injection
((RingApplication) getActivity().getApplication()).getRingInjectionComponent().inject(this);
setOnItemViewClickedListener(new ItemViewClickedListener());
setOnItemViewClickedListener((itemViewHolder, item, rowViewHolder, row) -> presenter.contactClicked(((ContactCard) item).getModel().getContact()));
setBadgeDrawable(ContextCompat.getDrawable(getActivity(), R.mipmap.ic_launcher));
setSearchQuery("", false);
}
@Override
......@@ -75,13 +75,29 @@ public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
super.onViewCreated(view, savedInstanceState);
// view injection
mUnbinder = ButterKnife.bind(this, view);
mSearchBar.setSearchBarListener(new SearchBar.SearchBarListener() {
@Override
public void onSearchQueryChange(String query) {
onQueryTextChange(query);
}
@Override
public void onSearchQuerySubmit(String query) {
onQueryTextSubmit(query);
}
@Override
public void onKeyboardDismiss(String query) {
mSearchBar.postDelayed(()-> {
getRowsSupportFragment().getVerticalGridView().requestFocus();
}, 200);
}
});
}
@Override
public void onResume() {
super.onResume();
//Disable voice recognition, it is not working properly for blockchain usernames
setSearchQuery("", false);
if (mTextEditor != null) {
mTextEditor.requestFocus();
}
......@@ -89,14 +105,12 @@ public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
@Override
public void onDestroyView() {
super.onDestroyView();
// Butterknife unbinding
mUnbinder.unbind();
super.onDestroyView();
}
@Override
public ObjectAdapter getResultsAdapter() {
Log.d(TAG, "getResultsAdapter: " + mRowsAdapter.toString());
return mRowsAdapter;
}
......@@ -108,7 +122,7 @@ public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
@Override
public boolean onQueryTextSubmit(String query) {
Log.i(TAG, String.format("Search Query Text Submit %s", query));
presenter.queryTextChanged(query);
return true;
}
......@@ -123,7 +137,7 @@ public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
@Override
public void clearSearch() {
getActivity().runOnUiThread(() -> mRowsAdapter.clear());
mRowsAdapter.clear();
}
@Override
......@@ -134,13 +148,4 @@ public class RingSearchFragment extends BaseSearchFragment<RingSearchPresenter>
getActivity().startActivity(intent, null);
getActivity().finish();
}
private final class ItemViewClickedListener implements OnItemViewClickedListener {
@Override
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
presenter.contactClicked(((ContactCard) item).getModel().getContact());
}
}
}
......@@ -19,13 +19,13 @@
*/
package cx.ring.tv.search;
import android.app.Activity;
import android.os.Bundle;
import cx.ring.R;
import androidx.fragment.app.FragmentActivity;
public class SearchActivity extends Activity {
import cx.ring.R;
public class SearchActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment