package com.lemenzo.files.sidebar;

import static com.lemenzo.files.util.Material3Config.getRes;

import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.lemenzo.files.R;
import com.lemenzo.files.base.UserId;
import com.lemenzo.files.lemenzo.HomeActivity;

/**
 * Lemenzo Files home destination shown at the top of the standalone Files drawer.
 * This item is intentionally not exposed from ACTION_OPEN / ACTION_CREATE_DOCUMENT pickers.
 */
final class HomeItem extends Item {
    private static final String STRING_ID = "LemenzoFilesHomeItem";
    private final Context context;

    HomeItem(Context context) {
        super(getRes(R.layout.item_root),
                context.getString(R.string.lemenzo_home_title),
                STRING_ID,
                UserId.UNSPECIFIED_USER);
        this.context = context;
    }

    @Override
    void bindView(View view) {
        ImageView icon = view.findViewById(android.R.id.icon);
        TextView titleView = view.findViewById(android.R.id.title);
        TextView summary = view.findViewById(android.R.id.summary);
        if (icon != null) icon.setImageResource(R.drawable.ic_lemenzo_home);
        if (titleView != null) titleView.setText(title);
        if (summary != null) summary.setVisibility(View.GONE);

        View actionIcon = view.findViewById(getRes(R.id.action_icon));
        if (actionIcon != null) actionIcon.setVisibility(View.GONE);
        View actionArea = view.findViewById(getRes(R.id.action_icon_area));
        if (actionArea != null) actionArea.setVisibility(View.GONE);
        View divider = view.findViewById(getRes(R.id.vertical_divider));
        if (divider != null) divider.setVisibility(View.GONE);
    }

    @Override boolean isRoot() { return false; }

    @Override
    void open() {
        Intent intent = new Intent(context, HomeActivity.class)
                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        context.startActivity(intent);
    }
}
