mirror of https://github.com/KokaKiwi/BarInsta
86 lines
3.5 KiB
Java
Executable File
86 lines
3.5 KiB
Java
Executable File
package awais.instagrabber.dialogs;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.Intent;
|
|
import android.net.Uri;
|
|
import android.os.Bundle;
|
|
import android.text.SpannableStringBuilder;
|
|
import android.text.method.LinkMovementMethod;
|
|
import android.text.style.RelativeSizeSpan;
|
|
import android.text.style.URLSpan;
|
|
import android.view.View;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.appcompat.widget.LinearLayoutCompat;
|
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
|
|
|
import awais.instagrabber.R;
|
|
import awais.instagrabber.utils.Utils;
|
|
|
|
public final class AboutDialog extends BottomSheetDialogFragment {
|
|
@NonNull
|
|
@Override
|
|
public Dialog onCreateDialog(@Nullable final Bundle savedInstanceState) {
|
|
final Dialog dialog = super.onCreateDialog(savedInstanceState);
|
|
final View contentView = View.inflate(getContext(), R.layout.dialog_main_about, null);
|
|
|
|
final LinearLayoutCompat infoContainer = contentView.findViewById(R.id.infoContainer);
|
|
|
|
final View btnTelegram = infoContainer.getChildAt(1);
|
|
final View btnMatrix = infoContainer.getChildAt(2);
|
|
final View btnProject = infoContainer.getChildAt(3);
|
|
final View.OnClickListener onClickListener = v -> {
|
|
final Intent intent = new Intent(Intent.ACTION_VIEW);
|
|
if (v == btnTelegram) {
|
|
intent.setData(Uri.parse("https://t.me/grabber_app"));
|
|
if (!Utils.isEmpty(Utils.telegramPackage))
|
|
intent.setPackage(Utils.telegramPackage);
|
|
}
|
|
else if (v == btnMatrix) {
|
|
intent.setData(Uri.parse("https://matrix.to/#/#instagrabber:matrix.org"));
|
|
} else
|
|
intent.setData(Uri.parse("https://instagrabber.austinhuang.me"));
|
|
startActivity(intent);
|
|
};
|
|
btnProject.setOnClickListener(onClickListener);
|
|
btnTelegram.setOnClickListener(onClickListener);
|
|
btnMatrix.setOnClickListener(onClickListener);
|
|
|
|
final String description = getString(R.string.description);
|
|
if (!Utils.isEmpty(description)) {
|
|
final SpannableStringBuilder descriptionText = new SpannableStringBuilder(description, 0, description.length());
|
|
|
|
int lastIndex = descriptionText.length() / 2;
|
|
for (int i = 0; i < descriptionText.length(); ++i) {
|
|
char c = descriptionText.charAt(i);
|
|
|
|
if (c == '[') {
|
|
final int smallTextStart = i;
|
|
descriptionText.delete(i, i + 1);
|
|
|
|
do {
|
|
c = descriptionText.charAt(i);
|
|
if (c == ']') {
|
|
descriptionText.delete(i, i + 1);
|
|
descriptionText.setSpan(new RelativeSizeSpan(0.6f), smallTextStart, i, 0);
|
|
}
|
|
++i;
|
|
} while (c != ']' || i == descriptionText.length() - 1);
|
|
}
|
|
}
|
|
|
|
lastIndex = Utils.indexOfChar(descriptionText, '@', lastIndex) - 12;
|
|
descriptionText.setSpan(new URLSpan("mailto:instagrabber@austinhuang.me"), lastIndex, lastIndex + 27, 0);
|
|
|
|
final TextView textView = (TextView) infoContainer.getChildAt(0);
|
|
textView.setMovementMethod(new LinkMovementMethod());
|
|
textView.setText(descriptionText, TextView.BufferType.SPANNABLE);
|
|
}
|
|
|
|
dialog.setContentView(contentView);
|
|
return dialog;
|
|
}
|
|
} |