94 lines
3.6 KiB
Java
94 lines
3.6 KiB
Java
package awais.instagrabber.activities;
|
|
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.appcompat.widget.AppCompatImageView;
|
|
import androidx.appcompat.widget.Toolbar;
|
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
|
import androidx.navigation.NavController;
|
|
import androidx.navigation.NavDestination;
|
|
import androidx.navigation.Navigation;
|
|
import androidx.navigation.ui.AppBarConfiguration;
|
|
import androidx.navigation.ui.NavigationUI;
|
|
|
|
import awais.instagrabber.R;
|
|
import awais.instagrabber.databinding.ActivityDirectMessagesBinding;
|
|
import awais.instagrabber.fragments.directmessages.DirectMessageThreadFragmentArgs;
|
|
import awais.instagrabber.utils.Constants;
|
|
import static awais.instagrabber.utils.Utils.settingsHelper;
|
|
|
|
public class DirectMessagesActivity extends BaseLanguageActivity implements NavController.OnDestinationChangedListener {
|
|
|
|
private TextView toolbarTitle;
|
|
private AppCompatImageView dmInfo, dmSeen;
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
final ActivityDirectMessagesBinding binding = ActivityDirectMessagesBinding.inflate(getLayoutInflater());
|
|
final CoordinatorLayout root = binding.getRoot();
|
|
setContentView(root);
|
|
|
|
toolbarTitle = binding.toolbarTitle;
|
|
|
|
final Toolbar toolbar = binding.toolbar;
|
|
setSupportActionBar(toolbar);
|
|
|
|
dmInfo = binding.dmInfo;
|
|
dmSeen = binding.dmSeen;
|
|
|
|
final NavController navController = Navigation.findNavController(this, R.id.direct_messages_nav_host_fragment);
|
|
navController.addOnDestinationChangedListener(this);
|
|
final AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph()).build();
|
|
NavigationUI.setupWithNavController(toolbar, navController, appBarConfiguration);
|
|
}
|
|
|
|
@Override
|
|
public void onDestinationChanged(@NonNull final NavController controller,
|
|
@NonNull final NavDestination destination,
|
|
@Nullable final Bundle arguments) {
|
|
switch (destination.getId()) {
|
|
case R.id.directMessagesInboxFragment:
|
|
setToolbarTitle(R.string.action_dms);
|
|
dmInfo.setVisibility(View.GONE);
|
|
dmSeen.setVisibility(View.GONE);
|
|
return;
|
|
case R.id.directMessagesThreadFragment:
|
|
if (arguments == null) {
|
|
return;
|
|
}
|
|
final String title = DirectMessageThreadFragmentArgs.fromBundle(arguments).getTitle();
|
|
setToolbarTitle(title);
|
|
dmInfo.setVisibility(View.VISIBLE);
|
|
dmSeen.setVisibility(settingsHelper.getBoolean(Constants.DM_MARK_AS_SEEN) ? View.GONE : View.VISIBLE);
|
|
return;
|
|
case R.id.directMessagesSettingsFragment:
|
|
if (arguments == null) {
|
|
return;
|
|
}
|
|
setToolbarTitle(R.string.action_settings);
|
|
dmInfo.setVisibility(View.GONE);
|
|
dmSeen.setVisibility(View.GONE);
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void setToolbarTitle(final String text) {
|
|
if (toolbarTitle == null) {
|
|
return;
|
|
}
|
|
toolbarTitle.setText(text);
|
|
}
|
|
|
|
private void setToolbarTitle(final int resourceId) {
|
|
if (toolbarTitle == null) {
|
|
return;
|
|
}
|
|
toolbarTitle.setText(resourceId);
|
|
}
|
|
}
|