Search in sources :

Example 46 with Nullable

use of androidx.annotation.Nullable in project ETSMobile-Android2 by ApplETS.

the class MoodleWebServiceTest method getValue.

private <T> T getValue(@NonNull LiveData<T> liveData) throws InterruptedException {
    final Object[] data = new Object[1];
    CountDownLatch latch = new CountDownLatch(1);
    Observer<T> observer = new Observer<T>() {

        @Override
        public void onChanged(@Nullable T o) {
            data[0] = o;
            latch.countDown();
            liveData.removeObserver(this);
        }
    };
    liveData.observeForever(observer);
    latch.await(TIME_OUT, TimeUnit.SECONDS);
    // noinspection unchecked
    return (T) data[0];
}
Also used : Observer(androidx.lifecycle.Observer) CountDownLatch(java.util.concurrent.CountDownLatch) Nullable(androidx.annotation.Nullable)

Example 47 with Nullable

use of androidx.annotation.Nullable in project AntennaPod by AntennaPod.

the class SpecialThanksFragment method onViewCreated.

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    getListView().setDivider(null);
    getListView().setSelector(android.R.color.transparent);
    translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
        ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(getContext().getAssets().open("special_thanks.csv"), "UTF-8"));
        String line;
        while ((line = reader.readLine()) != null) {
            String[] info = line.split(";");
            translators.add(new SimpleIconListAdapter.ListItem(info[0], info[1], info[2]));
        }
        emitter.onSuccess(translators);
    }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(translators -> setListAdapter(new SimpleIconListAdapter<>(getContext(), translators)), error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show());
}
Also used : Bundle(android.os.Bundle) NonNull(androidx.annotation.NonNull) Single(io.reactivex.Single) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) InputStreamReader(java.io.InputStreamReader) SimpleIconListAdapter(de.danoeh.antennapod.adapter.SimpleIconListAdapter) ArrayList(java.util.ArrayList) Disposable(io.reactivex.disposables.Disposable) Nullable(androidx.annotation.Nullable) Toast(android.widget.Toast) View(android.view.View) ListFragment(androidx.fragment.app.ListFragment) Schedulers(io.reactivex.schedulers.Schedulers) BufferedReader(java.io.BufferedReader) SingleOnSubscribe(io.reactivex.SingleOnSubscribe) InputStreamReader(java.io.InputStreamReader) ArrayList(java.util.ArrayList) BufferedReader(java.io.BufferedReader) SimpleIconListAdapter(de.danoeh.antennapod.adapter.SimpleIconListAdapter)

Example 48 with Nullable

use of androidx.annotation.Nullable in project AntennaPod by AntennaPod.

the class DownloadStatisticsFragment method onCreateView.

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View root = inflater.inflate(R.layout.statistics_activity, container, false);
    downloadStatisticsList = root.findViewById(R.id.statistics_list);
    progressBar = root.findViewById(R.id.progressBar);
    listAdapter = new DownloadStatisticsListAdapter(getContext());
    downloadStatisticsList.setLayoutManager(new LinearLayoutManager(getContext()));
    downloadStatisticsList.setAdapter(listAdapter);
    return root;
}
Also used : DownloadStatisticsListAdapter(de.danoeh.antennapod.adapter.DownloadStatisticsListAdapter) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) Nullable(androidx.annotation.Nullable)

Example 49 with Nullable

use of androidx.annotation.Nullable in project AntennaPod by AntennaPod.

the class SearchFragment method onCreateView.

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View layout = inflater.inflate(R.layout.search_fragment, container, false);
    setupToolbar(layout.findViewById(R.id.toolbar));
    progressBar = layout.findViewById(R.id.progressBar);
    recyclerView = layout.findViewById(R.id.recyclerView);
    recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
    adapter = new EpisodeItemListAdapter((MainActivity) getActivity());
    recyclerView.setAdapter(adapter);
    RecyclerView recyclerViewFeeds = layout.findViewById(R.id.recyclerViewFeeds);
    LinearLayoutManager layoutManagerFeeds = new LinearLayoutManager(getActivity());
    layoutManagerFeeds.setOrientation(RecyclerView.HORIZONTAL);
    recyclerViewFeeds.setLayoutManager(layoutManagerFeeds);
    adapterFeeds = new FeedSearchResultAdapter((MainActivity) getActivity());
    recyclerViewFeeds.setAdapter(adapterFeeds);
    emptyViewHandler = new EmptyViewHandler(getContext());
    emptyViewHandler.attachToRecyclerView(recyclerView);
    emptyViewHandler.setIcon(R.drawable.ic_search);
    emptyViewHandler.setTitle(R.string.search_status_no_results);
    emptyViewHandler.setMessage(R.string.type_to_search);
    EventBus.getDefault().register(this);
    chip = layout.findViewById(R.id.feed_title_chip);
    chip.setOnCloseIconClickListener(v -> {
        getArguments().putLong(ARG_FEED, 0);
        searchWithProgressBar();
    });
    chip.setVisibility((getArguments().getLong(ARG_FEED, 0) == 0) ? View.GONE : View.VISIBLE);
    chip.setText(getArguments().getString(ARG_FEED_NAME, ""));
    if (getArguments().getString(ARG_QUERY, null) != null) {
        search();
    }
    searchView.setOnQueryTextFocusChangeListener((view, hasFocus) -> {
        if (hasFocus) {
            showInputMethod(view.findFocus());
        }
    });
    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
                InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(recyclerView.getWindowToken(), 0);
            }
        }
    });
    return layout;
}
Also used : FeedSearchResultAdapter(de.danoeh.antennapod.adapter.FeedSearchResultAdapter) EmptyViewHandler(de.danoeh.antennapod.view.EmptyViewHandler) EpisodeItemListRecyclerView(de.danoeh.antennapod.view.EpisodeItemListRecyclerView) RecyclerView(androidx.recyclerview.widget.RecyclerView) InputMethodManager(android.view.inputmethod.InputMethodManager) MainActivity(de.danoeh.antennapod.activity.MainActivity) EpisodeItemListAdapter(de.danoeh.antennapod.adapter.EpisodeItemListAdapter) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) EpisodeItemListRecyclerView(de.danoeh.antennapod.view.EpisodeItemListRecyclerView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) SearchView(androidx.appcompat.widget.SearchView) Nullable(androidx.annotation.Nullable)

Example 50 with Nullable

use of androidx.annotation.Nullable in project Douya by DreaminginCodeZH.

the class BroadcastFragment method onActivityCreated.

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    CustomTabsHelperFragment.attachTo(this);
    mResource = BroadcastAndCommentListResource.attachTo(mBroadcastId, mBroadcast, this);
    AppCompatActivity activity = (AppCompatActivity) getActivity();
    activity.setTitle(getTitle());
    activity.setSupportActionBar(mToolbar);
    mContainerLayout.setOnClickListener(view -> onFinish());
    ViewCompat.setTransitionName(mSharedView, Broadcast.makeTransitionName(mBroadcastId));
    // This magically gives better visual effect when the broadcast is partially visible. Using
    // setEnterSharedElementCallback() disables this hack when no transition is used to start
    // this Activity.
    ActivityCompat.setEnterSharedElementCallback(activity, new SharedElementCallback() {

        @Override
        public void onSharedElementEnd(List<String> sharedElementNames, List<View> sharedElements, List<View> sharedElementSnapshots) {
            mBroadcastCommentList.scrollToPosition(0);
        }
    });
    mToolbar.setOnDoubleClickListener(view -> {
        mBroadcastCommentList.smoothScrollToPosition(0);
        return true;
    });
    mSwipeRefreshLayout.setOnRefreshListener(() -> {
        mResource.loadBroadcast();
        mResource.loadCommentList(false);
    });
    mBroadcastCommentList.setHasFixedSize(true);
    mBroadcastCommentList.setItemAnimator(new NoChangeAnimationItemAnimator());
    mBroadcastCommentList.setLayoutManager(new LinearLayoutManager(activity));
    mBroadcastAdapter = new SingleBroadcastAdapter(null, this);
    // BroadcastLayout will take care of showing the effective broadcast.
    // noinspection deprecation
    setBroadcast(mResource.getBroadcast());
    mCommentAdapter = new CommentAdapter(mResource.getCommentList(), (parent, itemView, item, position) -> onShowCommentAction(item));
    mAdapter = new LoadMoreAdapter(mBroadcastAdapter, mCommentAdapter);
    mBroadcastCommentList.setAdapter(mAdapter);
    mBroadcastCommentList.addOnScrollListener(new OnVerticalScrollListener() {

        public void onScrolledToBottom() {
            mResource.loadCommentList(true);
        }
    });
    mSendButton.setOnClickListener(view -> onSendComment());
    TooltipUtils.setup(mSendButton);
    View.OnLongClickListener sendTooltipListener = mSendButton.getOnLongClickListener();
    mSendButton.setOnLongClickListener(view -> {
        if (!Settings.LONG_CLICK_TO_SHOW_SEND_COMMENT_ACTIVITY.getValue()) {
            return sendTooltipListener.onLongClick(view);
        }
        onShowSendCommentActivity();
        return true;
    });
    updateSendCommentStatus();
    if (savedInstanceState == null) {
        if (mShowSendComment) {
            TransitionUtils.postAfterTransition(this, this::onShowCommentIme);
        }
    }
    TransitionUtils.setEnterReturnExplode(this);
    TransitionUtils.setupTransitionOnActivityCreated(this);
}
Also used : ToastUtils(me.zhanghai.android.douya.util.ToastUtils) Bundle(android.os.Bundle) DoubleClickToolbar(me.zhanghai.android.douya.ui.DoubleClickToolbar) OnVerticalScrollListener(me.zhanghai.android.douya.ui.OnVerticalScrollListener) ProgressBar(android.widget.ProgressBar) FrameLayout(android.widget.FrameLayout) Comment(me.zhanghai.android.douya.network.api.info.frodo.Comment) LoadMoreAdapter(me.zhanghai.android.douya.ui.LoadMoreAdapter) GetOnLongClickListenerImageButton(me.zhanghai.android.douya.ui.GetOnLongClickListenerImageButton) AppCompatActivity(androidx.appcompat.app.AppCompatActivity) BindView(butterknife.BindView) FragmentUtils(me.zhanghai.android.douya.util.FragmentUtils) ShareUtils(me.zhanghai.android.douya.util.ShareUtils) Fragment(androidx.fragment.app.Fragment) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) NoChangeAnimationItemAnimator(me.zhanghai.android.douya.ui.NoChangeAnimationItemAnimator) ViewCompat(androidx.core.view.ViewCompat) WebViewActivity(me.zhanghai.android.douya.ui.WebViewActivity) DeleteBroadcastManager(me.zhanghai.android.douya.broadcast.content.DeleteBroadcastManager) LikeBroadcastManager(me.zhanghai.android.douya.broadcast.content.LikeBroadcastManager) ConfirmDiscardContentDialogFragment(me.zhanghai.android.douya.ui.ConfirmDiscardContentDialogFragment) ThreadMode(org.greenrobot.eventbus.ThreadMode) ViewGroup(android.view.ViewGroup) DoubanUtils(me.zhanghai.android.douya.util.DoubanUtils) List(java.util.List) Nullable(androidx.annotation.Nullable) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) CustomTabsHelperFragment(me.zhanghai.android.customtabshelper.CustomTabsHelperFragment) EventBusUtils(me.zhanghai.android.douya.eventbus.EventBusUtils) ButterKnife(butterknife.ButterKnife) BroadcastCommentSentEvent(me.zhanghai.android.douya.eventbus.BroadcastCommentSentEvent) ApiError(me.zhanghai.android.douya.network.api.ApiError) FragmentFinishable(me.zhanghai.android.douya.ui.FragmentFinishable) MenuItem(android.view.MenuItem) Settings(me.zhanghai.android.douya.settings.info.Settings) ImeUtils(me.zhanghai.android.douya.util.ImeUtils) MenuInflater(android.view.MenuInflater) Menu(android.view.Menu) ClipboardUtils(me.zhanghai.android.douya.util.ClipboardUtils) LogUtils(me.zhanghai.android.douya.util.LogUtils) Broadcast(me.zhanghai.android.douya.network.api.info.frodo.Broadcast) TooltipUtils(me.zhanghai.android.douya.util.TooltipUtils) BroadcastCommentSendErrorEvent(me.zhanghai.android.douya.eventbus.BroadcastCommentSendErrorEvent) ActivityCompat(androidx.core.app.ActivityCompat) SwipeRefreshLayout(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) LayoutInflater(android.view.LayoutInflater) ViewUtils(me.zhanghai.android.douya.util.ViewUtils) DeleteBroadcastCommentManager(me.zhanghai.android.douya.broadcast.content.DeleteBroadcastCommentManager) TransitionUtils(me.zhanghai.android.douya.util.TransitionUtils) TextUtils(android.text.TextUtils) R(me.zhanghai.android.douya.R) BroadcastCommentCountFixer(me.zhanghai.android.douya.broadcast.content.BroadcastCommentCountFixer) RebroadcastBroadcastManager(me.zhanghai.android.douya.broadcast.content.RebroadcastBroadcastManager) Subscribe(org.greenrobot.eventbus.Subscribe) SendBroadcastCommentManager(me.zhanghai.android.douya.broadcast.content.SendBroadcastCommentManager) BroadcastAndCommentListResource(me.zhanghai.android.douya.broadcast.content.BroadcastAndCommentListResource) SharedElementCallback(androidx.core.app.SharedElementCallback) Activity(android.app.Activity) EditText(android.widget.EditText) AppCompatActivity(androidx.appcompat.app.AppCompatActivity) OnVerticalScrollListener(me.zhanghai.android.douya.ui.OnVerticalScrollListener) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) BindView(butterknife.BindView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) SharedElementCallback(androidx.core.app.SharedElementCallback) LoadMoreAdapter(me.zhanghai.android.douya.ui.LoadMoreAdapter) NoChangeAnimationItemAnimator(me.zhanghai.android.douya.ui.NoChangeAnimationItemAnimator)

Aggregations

Nullable (androidx.annotation.Nullable)1124 View (android.view.View)188 Bundle (android.os.Bundle)111 IOException (java.io.IOException)99 NonNull (androidx.annotation.NonNull)96 ArrayList (java.util.ArrayList)95 Context (android.content.Context)93 TextView (android.widget.TextView)92 Cursor (android.database.Cursor)71 SuppressLint (android.annotation.SuppressLint)69 Uri (android.net.Uri)66 RecyclerView (androidx.recyclerview.widget.RecyclerView)59 List (java.util.List)58 ViewGroup (android.view.ViewGroup)56 Test (org.junit.Test)55 Intent (android.content.Intent)53 Recipient (org.thoughtcrime.securesms.recipients.Recipient)52 R (org.thoughtcrime.securesms.R)46 LayoutInflater (android.view.LayoutInflater)45 ImageView (android.widget.ImageView)43