Mercury-IM/app/src/main/java/org/mercury_im/messenger/android/ui/contacts/detail/ContactDetailActivity.java

61 lines
1.9 KiB
Java

package org.mercury_im.messenger.android.ui.contacts.detail;
import android.os.Bundle;
import android.widget.FrameLayout;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import org.mercury_im.messenger.android.MercuryImApplication;
import org.mercury_im.messenger.R;
import org.mercury_im.messenger.android.ui.MercuryActivity;
import org.mercury_im.messenger.android.util.ArgumentUtils;
import java.util.UUID;
import butterknife.BindView;
import butterknife.ButterKnife;
import lombok.Value;
public class ContactDetailActivity extends AppCompatActivity implements MercuryActivity {
public static final String EXTRA_PEER_ID = "PEER_ID";
private ContactDetailViewModel androidContactDetailViewModel;
private UUID peerId;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MercuryImApplication.getApplication().getAppComponent().inject(this);
Arguments arguments = getArguments(savedInstanceState);
peerId = arguments.getPeerId();
androidContactDetailViewModel = new ViewModelProvider(this).get(ContactDetailViewModel.class);
androidContactDetailViewModel.init(peerId);
bindUiComponents();
}
private void bindUiComponents() {
setContentView(R.layout.layout_top_toolbar);
ButterKnife.bind(this);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment, new ContactDetailFragment(), "contact_details")
.commit();
}
private Arguments getArguments(Bundle bundle) {
bundle = requiredExtras(bundle, getIntent());
UUID peerId = ArgumentUtils.requireUUID(bundle, EXTRA_PEER_ID);
return new Arguments(peerId);
}
@Value
private class Arguments {
UUID peerId;
}
}