optimized shortcut pinning and support for android < 7
This commit is contained in:
@@ -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));
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user