use of com.google.android.material.button.MaterialButton in project android by nextcloud.
the class NotificationListAdapter method setButtons.
public void setButtons(NotificationViewHolder holder, Notification notification) {
// add action buttons
holder.binding.buttons.removeAllViews();
MaterialButton button;
Resources resources = notificationsActivity.getResources();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(resources.getDimensionPixelOffset(R.dimen.standard_half_margin), 0, resources.getDimensionPixelOffset(R.dimen.standard_half_margin), 0);
int primaryColor = ThemeColorUtils.primaryColor(notificationsActivity);
List<Action> overflowActions = new ArrayList<>();
if (notification.getActions().size() > 2) {
for (Action action : notification.getActions()) {
if (action.primary) {
button = new MaterialButton(notificationsActivity);
button.setAllCaps(false);
button.setText(action.label);
button.setCornerRadiusResource(R.dimen.button_corner_radius);
button.setLayoutParams(params);
button.setGravity(Gravity.CENTER);
button.setOnClickListener(v -> {
setButtonEnabled(holder, false);
if (ACTION_TYPE_WEB.equals(action.type)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(action.link));
notificationsActivity.startActivity(intent);
} else {
new NotificationExecuteActionTask(client, holder, notification, notificationsActivity).execute(action);
}
});
ThemeButtonUtils.colorPrimaryButton(button, notificationsActivity);
holder.binding.buttons.addView(button);
} else {
overflowActions.add(action);
}
}
// further actions
button = new MaterialButton(notificationsActivity);
button.setBackgroundColor(resources.getColor(R.color.grey_200));
button.setTextColor(primaryColor);
button.setAllCaps(false);
button.setText(R.string.more);
button.setCornerRadiusResource(R.dimen.button_corner_radius);
button.setLayoutParams(params);
button.setGravity(Gravity.CENTER);
MaterialButton finalButton = button;
button.setOnClickListener(v -> {
PopupMenu popup = new PopupMenu(notificationsActivity, finalButton);
for (Action action : overflowActions) {
popup.getMenu().add(action.label).setOnMenuItemClickListener(item -> {
setButtonEnabled(holder, false);
if (ACTION_TYPE_WEB.equals(action.type)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(action.link));
notificationsActivity.startActivity(intent);
} else {
new NotificationExecuteActionTask(client, holder, notification, notificationsActivity).execute(action);
}
return true;
});
}
popup.show();
});
holder.binding.buttons.addView(button);
} else {
for (Action action : notification.getActions()) {
button = new MaterialButton(notificationsActivity);
if (action.primary) {
ThemeButtonUtils.colorPrimaryButton(button, notificationsActivity);
} else {
button.setBackgroundColor(resources.getColor(R.color.grey_200));
button.setTextColor(primaryColor);
}
button.setAllCaps(false);
button.setText(action.label);
button.setCornerRadiusResource(R.dimen.button_corner_radius);
button.setLayoutParams(params);
button.setGravity(Gravity.CENTER);
button.setOnClickListener(v -> {
setButtonEnabled(holder, false);
if (ACTION_TYPE_WEB.equals(action.type)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(action.link));
notificationsActivity.startActivity(intent);
} else {
new NotificationExecuteActionTask(client, holder, notification, notificationsActivity).execute(action);
}
});
holder.binding.buttons.addView(button);
}
}
}
use of com.google.android.material.button.MaterialButton in project fdroidclient by f-droid.
the class SwapWorkflowActivity method setUpStartVisibility.
private void setUpStartVisibility() {
bluetoothStatusReceiver.onReceive(this, new Intent(BluetoothManager.ACTION_STATUS));
bonjourStatusReceiver.onReceive(this, new Intent(BonjourManager.ACTION_STATUS));
TextView viewWifiNetwork = findViewById(R.id.wifi_network);
SwitchMaterial wifiSwitch = findViewById(R.id.switch_wifi);
MaterialButton scanQrButton = findViewById(R.id.btn_scan_qr);
MaterialButton appsButton = findViewById(R.id.btn_apps);
if (viewWifiNetwork == null || wifiSwitch == null || scanQrButton == null || appsButton == null) {
return;
}
viewWifiNetwork.setOnClickListener(v -> promptToSelectWifiNetwork());
wifiSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Context context = getApplicationContext();
if (isChecked) {
if (wifiApControl != null && wifiApControl.isEnabled()) {
setupWifiAP();
} else {
wifiManager.setWifiEnabled(true);
}
BonjourManager.start(context);
}
BonjourManager.setVisible(context, isChecked);
SwapService.putWifiVisibleUserPreference(isChecked);
}
});
scanQrButton.setOnClickListener(v -> inflateSwapView(R.layout.swap_wifi_qr));
appsButton.setOnClickListener(v -> inflateSwapView(R.layout.swap_select_apps));
appsButton.setEllipsize(TextUtils.TruncateAt.END);
if (SwapService.getWifiVisibleUserPreference()) {
wifiSwitch.setChecked(true);
} else {
wifiSwitch.setChecked(false);
}
}
Aggregations