Arthelh/NCNF

View on GitHub
app/src/main/java/com/ncnf/views/fragments/organization/OrganizationViewFragment.java

Summary

Maintainability
A
0 mins
Test Coverage
A
92%
package com.ncnf.views.fragments.organization;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import com.ncnf.R;
import com.ncnf.models.Organization;
import com.ncnf.repositories.OrganizationRepository;
import com.ncnf.storage.firebase.FirebaseCacheFileStore;

import javax.inject.Inject;

import dagger.hilt.android.AndroidEntryPoint;

import static android.graphics.BitmapFactory.decodeResource;
import static com.ncnf.utilities.StringCodes.ORGANIZATIONS_IMAGE_PATH;

@AndroidEntryPoint
public class OrganizationViewFragment extends Fragment {

    @Inject
    public OrganizationRepository organizationRepository;

    @Inject
    public FirebaseCacheFileStore fileStore;

    private Organization organization;
    private String uuid;

    private TextView orgName;
    private TextView orgEmail;
    private TextView orgPhone;
    private TextView orgAddress;
    
    private ImageView orgPicture;

    public OrganizationViewFragment(){ }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        this.uuid = this.getArguments().getString("organization_id");
        return inflater.inflate(R.layout.fragment_organization_view, container, false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initView();
        organizationRepository.getByUUID(uuid).thenAccept(o -> {
            this.organization = o.get(0);
            fillViews();
        }).exceptionally(e -> {
            e.printStackTrace();
            return null;
        });
    }

    private void initView(){
        orgName = requireView().findViewById(R.id.organization_profile_full_name);
        orgAddress = requireView().findViewById(R.id.organization_profile_address);
        orgEmail = requireView().findViewById(R.id.organization_profile_email);
        orgPhone = requireView().findViewById(R.id.organization_profile_phone);
        orgPicture = requireView().findViewById(R.id.organization_profile_picture_image);
    }

    private void fillViews(){
        orgName.setText(organization.getName());
        orgAddress.setText(organization.getAddress());
        orgEmail.setText(organization.getEmail());
        orgPhone.setText(organization.getPhoneNumber());
        fileStore.setContext(this.getContext());
        fileStore.setPath(ORGANIZATIONS_IMAGE_PATH, organization.getUuid() + ".jpg");
        fileStore.downloadImage(orgPicture, decodeResource(this.getResources(), R.drawable.default_profile_picture));
        //orgPicture
    }
}