Search in sources :

Example 1 with Body

use of app.insti.api.model.Body in project IITB-App by wncc.

the class BodyFragment method updateBody.

private void updateBody() {
    RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
    retrofitInterface.getBody(Utils.getSessionIDHeader(), min_body.getBodyID()).enqueue(new Callback<Body>() {

        @Override
        public void onResponse(Call<Body> call, Response<Body> response) {
            if (response.isSuccessful()) {
                Body bodyResponse = response.body();
                Utils.bodyCache.updateCache(response.body());
                if (!bodyDisplayed) {
                    body = bodyResponse;
                    displayBody();
                }
                bodySwipeRefreshLayout.setRefreshing(false);
            }
        }

        @Override
        public void onFailure(Call<Body> call, Throwable t) {
            bodySwipeRefreshLayout.setRefreshing(false);
        }
    });
}
Also used : Body(app.insti.api.model.Body) RetrofitInterface(app.insti.api.RetrofitInterface)

Example 2 with Body

use of app.insti.api.model.Body in project IITB-App by wncc.

the class GenericAdapter method onClick.

@Override
public void onClick(CardInterface cardInterface, Fragment fragment, View view) {
    if (cardInterface instanceof Event) {
        Utils.openEventFragment((Event) cardInterface, fragment, view.findViewById(R.id.object_picture));
    } else if (cardInterface instanceof Body) {
        Utils.openBodyFragment((Body) cardInterface, fragment, view.findViewById(R.id.object_picture));
    } else if (cardInterface instanceof User) {
        Utils.openUserFragment((User) cardInterface, fragment, view.findViewById(R.id.object_picture));
    } else if (cardInterface instanceof Role) {
        Utils.openBodyFragment(((Role) cardInterface).getRoleBodyDetails(), fragment, view.findViewById(R.id.object_picture));
    } else if (cardInterface instanceof Achievement) {
        Achievement a = (Achievement) cardInterface;
        if (a.getAchievementEvent() != null) {
            a.getAchievementEvent().setEventBodies(new ArrayList<>());
            a.getAchievementEvent().getEventBodies().add(a.getAchievementBody());
            Utils.openEventFragment(a.getAchievementEvent(), fragment, view.findViewById(R.id.object_picture));
        } else {
            Utils.openBodyFragment(a.getAchievementBody(), fragment, view.findViewById(R.id.object_picture));
        }
    } else if (cardInterface instanceof OfferedAchievement) {
        WebViewFragment webViewFragment = new WebViewFragment();
        Bundle bundle = new Bundle();
        bundle.putString(Constants.WV_TYPE, Constants.WV_TYPE_NEW_OFFERED_ACHIEVEMENT);
        bundle.putString(Constants.WV_ID, ((OfferedAchievement) cardInterface).getAchievementID());
        webViewFragment.setArguments(bundle);
        Utils.updateFragment(webViewFragment, fragment.getActivity());
    }
}
Also used : Role(app.insti.api.model.Role) WebViewFragment(app.insti.fragment.WebViewFragment) User(app.insti.api.model.User) OfferedAchievement(app.insti.api.model.OfferedAchievement) Bundle(android.os.Bundle) Event(app.insti.api.model.Event) Achievement(app.insti.api.model.Achievement) OfferedAchievement(app.insti.api.model.OfferedAchievement) Body(app.insti.api.model.Body)

Example 3 with Body

use of app.insti.api.model.Body in project IITB-App by wncc.

the class UserFragment method populateViews.

private void populateViews() {
    if (getActivity() == null || getView() == null)
        return;
    userProfilePictureImageView = getActivity().findViewById(R.id.user_profile_picture_profile);
    TextView userNameTextView = getActivity().findViewById(R.id.user_name_profile);
    TextView userRollNumberTextView = getActivity().findViewById(R.id.user_rollno_profile);
    final TextView userEmailIDTextView = getActivity().findViewById(R.id.user_email_profile);
    TextView userContactNumberTextView = getActivity().findViewById(R.id.user_contact_no_profile);
    FloatingActionButton userShareFab = getActivity().findViewById(R.id.share_user_button);
    Picasso.get().load(user.getUserProfilePictureUrl()).placeholder(R.drawable.user_placeholder).into(userProfilePictureImageView);
    userProfilePictureImageView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            zoomImageFromThumb(userProfilePictureImageView);
        }
    });
    mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime);
    if (!showingMin) {
        /* Show tabs */
        getActivity().findViewById(R.id.tab_layout).setVisibility(VISIBLE);
        /* Load lists */
        final List<Role> roleList = user.getUserRoles();
        final List<Body> bodyList = user.getUserFollowedBodies();
        final List<Event> eventList = user.getUserGoingEvents();
        final List<Role> formerRoleList = user.getUserFormerRoles();
        /* Construct user profile */
        final List<CardInterface> profile = new ArrayList<>(roleList);
        for (Role role : formerRoleList) {
            Role temp = new Role(role);
            temp.setRoleName("Former " + role.getRoleName() + " " + role.getRoleYear());
            profile.add(temp);
        }
        profile.addAll(user.getUserAchievements());
        List<Event> eventInterestedList = user.getUserInterestedEvents();
        eventList.removeAll(eventInterestedList);
        eventList.addAll(eventInterestedList);
        GenericRecyclerViewFragment frag1 = GenericRecyclerViewFragment.newInstance(profile);
        BodyRecyclerViewFragment frag2 = BodyRecyclerViewFragment.newInstance(bodyList);
        EventRecyclerViewFragment frag3 = EventRecyclerViewFragment.newInstance(eventList);
        frag1.parentFragment = this;
        frag2.parentFragment = this;
        frag3.parentFragment = this;
        TabAdapter tabAdapter = new TabAdapter(getChildFragmentManager());
        tabAdapter.addFragment(frag1, "Profile");
        tabAdapter.addFragment(frag2, "Following");
        tabAdapter.addFragment(frag3, "Events");
        // Set up the ViewPager with the sections adapter.
        ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.viewPager);
        viewPager.setAdapter(tabAdapter);
        viewPager.setOffscreenPageLimit(2);
        TabLayout tabLayout = (TabLayout) getActivity().findViewById(R.id.tab_layout);
        tabLayout.setupWithViewPager(viewPager);
        userShareFab.show();
        getActivity().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
    }
    userNameTextView.setText(user.getUserName());
    userRollNumberTextView.setText(user.getUserRollNumber());
    if (user.getUserEmail() != null && !user.getUserEmail().equals("N/A")) {
        userEmailIDTextView.setText(user.getUserEmail());
    } else {
        if (user.getUserRollNumber() != null)
            userEmailIDTextView.setText(user.getUserRollNumber() + "@iitb.ac.in");
    }
    userEmailIDTextView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mail((String) userEmailIDTextView.getText());
        }
    });
    if (!"N/A".equals(user.getUserContactNumber())) {
        userContactNumberTextView.setText(user.getUserContactNumber());
        userContactNumberTextView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                call(user.getUserContactNumber());
            }
        });
    } else {
        userContactNumberTextView.setVisibility(View.GONE);
    }
    userShareFab.setOnClickListener(new View.OnClickListener() {

        String shareUrl = ShareURLMaker.getUserURL(user);

        @Override
        public void onClick(View view) {
            Intent i = new Intent(Intent.ACTION_SEND);
            i.setType("text/plain");
            i.putExtra(Intent.EXTRA_SUBJECT, "Sharing URL");
            i.putExtra(Intent.EXTRA_TEXT, shareUrl);
            startActivity(Intent.createChooser(i, "Share URL"));
        }
    });
}
Also used : CardInterface(app.insti.interfaces.CardInterface) TabAdapter(app.insti.adapter.TabAdapter) ArrayList(java.util.ArrayList) Intent(android.content.Intent) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) ViewPager(androidx.viewpager.widget.ViewPager) Role(app.insti.api.model.Role) TabLayout(com.google.android.material.tabs.TabLayout) FloatingActionButton(com.google.android.material.floatingactionbutton.FloatingActionButton) Event(app.insti.api.model.Event) TextView(android.widget.TextView) Body(app.insti.api.model.Body)

Aggregations

Body (app.insti.api.model.Body)3 Event (app.insti.api.model.Event)2 Role (app.insti.api.model.Role)2 Intent (android.content.Intent)1 Bundle (android.os.Bundle)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 ViewPager (androidx.viewpager.widget.ViewPager)1 TabAdapter (app.insti.adapter.TabAdapter)1 RetrofitInterface (app.insti.api.RetrofitInterface)1 Achievement (app.insti.api.model.Achievement)1 OfferedAchievement (app.insti.api.model.OfferedAchievement)1 User (app.insti.api.model.User)1 WebViewFragment (app.insti.fragment.WebViewFragment)1 CardInterface (app.insti.interfaces.CardInterface)1 FloatingActionButton (com.google.android.material.floatingactionbutton.FloatingActionButton)1 TabLayout (com.google.android.material.tabs.TabLayout)1 ArrayList (java.util.ArrayList)1