optimized shortcut pinning and support for android < 7

This commit is contained in:
2021-03-24 18:36:10 +01:00
parent 3fcf7bd3ed
commit 050b1579a8
2 changed files with 4 additions and 12 deletions
@@ -4,25 +4,17 @@ import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.drawable.Icon;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.PersistableBundle;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Base64; import android.util.Base64;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView; import android.widget.AutoCompleteTextView;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.pm.ShortcutInfoCompat; import androidx.core.content.pm.ShortcutInfoCompat;
@@ -124,7 +116,6 @@ public class MainActivity extends AppCompatActivity {
ShortcutIcon.setOnClickListener(v -> createMeetingShortcut(searchMeetingInList(getMeetings(), createCurrMeetingFromUI().meetingName))); ShortcutIcon.setOnClickListener(v -> createMeetingShortcut(searchMeetingInList(getMeetings(), createCurrMeetingFromUI().meetingName)));
} }
@RequiresApi(api = Build.VERSION_CODES.N_MR1)
private void createMeetingShortcut(int meetingIndex) { private void createMeetingShortcut(int meetingIndex) {
Meeting meeting = getMeetings().get(meetingIndex); Meeting meeting = getMeetings().get(meetingIndex);
@@ -143,7 +134,7 @@ public class MainActivity extends AppCompatActivity {
.build(); .build();
ShortcutManagerCompat.requestPinShortcut(this, shortcutInfo, null); ShortcutManagerCompat.requestPinShortcut(this, shortcutInfo, null);
} else { } else {
Toast.makeText(this, "no shortcut", Toast.LENGTH_SHORT).show(); Toast.makeText(this, R.string.ShortcutError, Toast.LENGTH_SHORT).show();
} }
} }
@@ -276,7 +267,7 @@ public class MainActivity extends AppCompatActivity {
adapter.setData(Arrays.asList(meetingNames)); adapter.setData(Arrays.asList(meetingNames));
textMeetingName.setAdapter(adapter); textMeetingName.setAdapter(adapter);
textMeetingName.setOnTouchListener((View.OnTouchListener) (paramView, paramMotionEvent) -> false); textMeetingName.setOnTouchListener((paramView, paramMotionEvent) -> false);
textMeetingName.setOnItemClickListener((arg0, view, arg2, arg3) -> fillWithSelectedMeeting()); textMeetingName.setOnItemClickListener((arg0, view, arg2, arg3) -> fillWithSelectedMeeting());
@@ -302,7 +293,7 @@ public class MainActivity extends AppCompatActivity {
adapter.setData(Arrays.asList(attNames)); adapter.setData(Arrays.asList(attNames));
textName.setAdapter(adapter); textName.setAdapter(adapter);
textName.setOnTouchListener((View.OnTouchListener) (paramView, paramMotionEvent) -> false); textName.setOnTouchListener((paramView, paramMotionEvent) -> false);
textName.setOnItemClickListener((arg0, view, arg2, arg3) -> fillWithSelectedAtt(meetingIndex)); textName.setOnItemClickListener((arg0, view, arg2, arg3) -> fillWithSelectedAtt(meetingIndex));
+1
View File
@@ -21,5 +21,6 @@
<string name="pwdHint">Kenncode</string> <string name="pwdHint">Kenncode</string>
<string name="idHint">Meeting ID</string> <string name="idHint">Meeting ID</string>
<string name="shortcutTooltip">Direkte Verknüpfung zum gewählten Meeting erstellen</string> <string name="shortcutTooltip">Direkte Verknüpfung zum gewählten Meeting erstellen</string>
<string name="ShortcutError">Dein Launcher unterstützt leider keine direkten Verknüpfungen</string>
</resources> </resources>