דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
ל

לוחם שחיתות

@לוחם שחיתות
הפסקת מעקב מעקב
אודות
פוסטים
18
נושאים
3
שיתופים
0
קבוצות
0
עוקבים
3
עוקב אחרי
2

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • בקשה | ריכוז אפליקציות לשיאומי +Qin1s
    ל לוחם שחיתות

    @חייא-שיאומי
    אשמח לקישור לנושא ,
    לא מצאתי.
    תודה

    עזרה הדדית - שיאומי +Qin1s

  • בקשה | ריכוז אפליקציות לשיאומי +Qin1s
    ל לוחם שחיתות

    הנה הקוד .
    package com.qingallery;

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Build;
    import android.provider.MediaStore;
    import android.database.Cursor;

    import android.content.Intent;
    import android.content.Context;
    import android.content.pm.PackageManager;

    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Color;

    import android.net.Uri;

    import android.view.Gravity;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;

    import android.widget.ArrayAdapter;
    import android.widget.FrameLayout;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.ImageView;
    import android.widget.VideoView;
    import android.widget.MediaController;

    import java.io.File;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;

    /*

    • ============================================================
    •              QIN GALLERY
      
    •    Gallery for old Android / QIN devices
      
    •    One Java file
      
    •    No AndroidX
      
    •    No external libraries
      
    •    No Internet
      
    •    No thumbnails
      
    • ============================================================
      */

    public class MainActivity extends Activity {

    /*
     * ----------------------------------------------------------
     * CONSTANTS
     * ----------------------------------------------------------
     */
    
    private static final int MODE_ALL = 0;
    private static final int MODE_PHOTOS = 1;
    private static final int MODE_VIDEOS = 2;
    
    private static final int TYPE_PHOTO = 1;
    private static final int TYPE_VIDEO = 2;
    
    
    /*
     * ----------------------------------------------------------
     * MEDIA ITEM
     * ----------------------------------------------------------
     */
    
    private static class MediaItem {
    
        String path;
        String name;
        int type;
    
        MediaItem(String p, String n, int t) {
            path = p;
            name = n;
            type = t;
        }
    }
    
    
    /*
     * ----------------------------------------------------------
     * DATA
     * ----------------------------------------------------------
     */
    
    private ArrayList<MediaItem> allMedia =
            new ArrayList<MediaItem>();
    
    private ArrayList<MediaItem> visibleMedia =
            new ArrayList<MediaItem>();
    
    
    /*
     * ----------------------------------------------------------
     * UI
     * ----------------------------------------------------------
     */
    
    private LinearLayout mainLayout;
    
    private TextView title;
    
    private ListView list;
    
    private TextView footer;
    
    
    /*
     * ----------------------------------------------------------
     * STATE
     * ----------------------------------------------------------
     */
    
    private int currentMode = MODE_ALL;
    
    private int currentPosition = -1;
    
    
    /*
     * ==========================================================
     * ON CREATE
     * ==========================================================
     */
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
    
        /*
         * Keep the application simple and compatible
         * with old Android devices.
         */
    
        requestWindowFeature(Window.FEATURE_NO_TITLE);
    
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN
        );
    
        createInterface();
    
        loadMedia();
    
        updateList();
    }
    
    
    /*
     * ==========================================================
     * CREATE INTERFACE
     * ==========================================================
     */
    
    private void createInterface() {
    
        mainLayout = new LinearLayout(this);
    
        mainLayout.setOrientation(
                LinearLayout.VERTICAL
        );
    
        mainLayout.setBackgroundColor(
                Color.rgb(18, 18, 18)
        );
    
    
        /*
         * TITLE
         */
    
        title = new TextView(this);
    
        title.setText("QIN GALLERY");
    
        title.setTextColor(Color.WHITE);
    
        title.setTextSize(18);
    
        title.setGravity(
                Gravity.CENTER
        );
    
        title.setBackgroundColor(
                Color.rgb(35, 35, 35)
        );
    
        title.setPadding(
                4,
                4,
                4,
                4
        );
    
    
        mainLayout.addView(
                title,
                new LinearLayout.LayoutParams(
                        -1,
                        dp(42)
                )
        );
    
    
        /*
         * LIST
         */
    
        list = new ListView(this);
    
        list.setBackgroundColor(
                Color.rgb(18, 18, 18)
        );
    
        list.setDivider(
                new android.graphics.drawable.ColorDrawable(
                        Color.rgb(60, 60, 60)
                )
        );
    
        list.setDividerHeight(1);
    
    
        mainLayout.addView(
                list,
                new LinearLayout.LayoutParams(
                        -1,
                        0,
                        1
                )
        );
    
    
        /*
         * FOOTER
         */
    
        footer = new TextView(this);
    
        footer.setText(
                "↑ ↓ ניווט    OK פתיחה    MENU סינון"
        );
    
        footer.setTextColor(
                Color.LTGRAY
        );
    
        footer.setTextSize(11);
    
        footer.setGravity(
                Gravity.CENTER
        );
    
        footer.setBackgroundColor(
                Color.rgb(30, 30, 30)
        );
    
    
        mainLayout.addView(
                footer,
                new LinearLayout.LayoutParams(
                        -1,
                        dp(32)
                )
        );
    
    
        setContentView(mainLayout);
    
    
        /*
         * CLICK
         */
    
        list.setOnItemClickListener(
                new android.widget.AdapterView.OnItemClickListener() {
    
                    @Override
                    public void onItemClick(
                            android.widget.AdapterView<?> parent,
                            View view,
                            int position,
                            long id) {
    
                        openItem(position);
                    }
                }
        );
    }
    
    
    /*
     * ==========================================================
     * LOAD MEDIA
     * ==========================================================
     */
    
    private void loadMedia() {
    
        allMedia.clear();
    
    
        /*
         * IMAGES
         */
    
        Cursor imageCursor = null;
    
        try {
    
            String[] projection = {
    
                    MediaStore.Images.Media.DATA,
    
                    MediaStore.Images.Media.DISPLAY_NAME,
    
                    MediaStore.Images.Media.DATE_ADDED
            };
    
    
            imageCursor =
                    getContentResolver().query(
    
                            MediaStore.Images.Media
                                    .EXTERNAL_CONTENT_URI,
    
                            projection,
    
                            null,
    
                            null,
    
                            MediaStore.Images.Media
                                    .DATE_ADDED + " DESC"
                    );
    
    
            if (imageCursor != null) {
    
                int pathIndex =
                        imageCursor.getColumnIndex(
                                MediaStore.Images.Media.DATA
                        );
    
                int nameIndex =
                        imageCursor.getColumnIndex(
                                MediaStore.Images.Media
                                        .DISPLAY_NAME
                        );
    
    
                while (imageCursor.moveToNext()) {
    
                    String path =
                            imageCursor.getString(
                                    pathIndex
                            );
    
                    String name =
                            imageCursor.getString(
                                    nameIndex
                            );
    
    
                    if (path != null &&
                            isImage(path)) {
    
                        if (name == null) {
                            name =
                                    new File(path)
                                            .getName();
                        }
    
                        allMedia.add(
                                new MediaItem(
                                        path,
                                        name,
                                        TYPE_PHOTO
                                )
                        );
                    }
                }
            }
    
        } catch (Exception e) {
    
            // Ignore old Android MediaStore errors.
    
        } finally {
    
            if (imageCursor != null) {
                imageCursor.close();
            }
        }
    
    
        /*
         * VIDEOS
         */
    
        Cursor videoCursor = null;
    
        try {
    
            String[] projection = {
    
                    MediaStore.Video.Media.DATA,
    
                    MediaStore.Video.Media.DISPLAY_NAME,
    
                    MediaStore.Video.Media.DATE_ADDED
            };
    
    
            videoCursor =
                    getContentResolver().query(
    
                            MediaStore.Video.Media
                                    .EXTERNAL_CONTENT_URI,
    
                            projection,
    
                            null,
    
                            null,
    
                            MediaStore.Video.Media
                                    .DATE_ADDED + " DESC"
                    );
    
    
            if (videoCursor != null) {
    
                int pathIndex =
                        videoCursor.getColumnIndex(
                                MediaStore.Video.Media.DATA
                        );
    
                int nameIndex =
                        videoCursor.getColumnIndex(
                                MediaStore.Video.Media
                                        .DISPLAY_NAME
                        );
    
    
                while (videoCursor.moveToNext()) {
    
                    String path =
                            videoCursor.getString(
                                    pathIndex
                            );
    
                    String name =
                            videoCursor.getString(
                                    nameIndex
                            );
    
    
                    if (path != null &&
                            isVideo(path)) {
    
                        if (name == null) {
    
                            name =
                                    new File(path)
                                            .getName();
                        }
    
    
                        allMedia.add(
                                new MediaItem(
                                        path,
                                        name,
                                        TYPE_VIDEO
                                )
                        );
                    }
                }
            }
    
        } catch (Exception e) {
    
            // Ignore old Android MediaStore errors.
    
        } finally {
    
            if (videoCursor != null) {
                videoCursor.close();
            }
        }
    
    
        /*
         * SORT BY FILE NAME
         *
         * This is deliberately simple.
         */
    
        Collections.sort(
                allMedia,
                new Comparator<MediaItem>() {
    
                    @Override
                    public int compare(
                            MediaItem a,
                            MediaItem b) {
    
                        return a.name
                                .toLowerCase()
                                .compareTo(
                                        b.name
                                                .toLowerCase()
                                );
                    }
                }
        );
    }
    
    
    /*
     * ==========================================================
     * FILTER
     * ==========================================================
     */
    
    private void updateList() {
    
        visibleMedia.clear();
    
    
        for (int i = 0;
             i < allMedia.size();
             i++) {
    
            MediaItem item =
                    allMedia.get(i);
    
    
            if (currentMode == MODE_ALL) {
    
                visibleMedia.add(item);
    
            } else if (
                    currentMode == MODE_PHOTOS &&
                    item.type == TYPE_PHOTO) {
    
                visibleMedia.add(item);
    
            } else if (
                    currentMode == MODE_VIDEOS &&
                    item.type == TYPE_VIDEO) {
    
                visibleMedia.add(item);
            }
        }
    
    
        if (currentMode == MODE_ALL) {
    
            title.setText(
                    "QIN GALLERY"
            );
    
        } else if (currentMode == MODE_PHOTOS) {
    
            title.setText(
                    "PHOTOS"
            );
    
        } else {
    
            title.setText(
                    "VIDEOS"
            );
        }
    
    
        footer.setText(
                "↑ ↓ ניווט   OK פתיחה   MENU החלפה"
        );
    
    
        ArrayAdapter<MediaItem> adapter =
                new ArrayAdapter<MediaItem>(
                        this,
                        android.R.layout.simple_list_item_1,
                        visibleMedia
                ) {
    
                    @Override
                    public View getView(
                            int position,
                            View convertView,
                            android.view.ViewGroup parent) {
    
                        TextView text;
    
    
                        if (convertView == null) {
    
                            text =
                                    new TextView(
                                            MainActivity.this
                                    );
    
                            text.setTextSize(15);
    
                            text.setTextColor(
                                    Color.WHITE
                            );
    
                            text.setGravity(
                                    Gravity.CENTER_VERTICAL
                            );
    
                            text.setPadding(
                                    dp(10),
                                    0,
                                    dp(5),
                                    0
                            );
    
                            text.setSingleLine(true);
    
    
                            text.setLayoutParams(
                                    new ListView.LayoutParams(
                                            -1,
                                            dp(45)
                                    )
                            );
    
                        } else {
    
                            text =
                                    (TextView)
                                            convertView;
                        }
    
    
                        MediaItem item =
                                visibleMedia
                                        .get(position);
    
    
                        if (item.type ==
                                TYPE_VIDEO) {
    
                            text.setText(
                                    "▶  " +
                                    item.name
                            );
    
                        } else {
    
                            text.setText(
                                    "▣  " +
                                    item.name
                            );
                        }
    
    
                        return text;
                    }
                };
    
    
        list.setAdapter(adapter);
    
    
        /*
         * Select first item.
         */
    
        if (visibleMedia.size() > 0) {
    
            list.setSelection(0);
    
        }
    }
    
    
    /*
     * ==========================================================
     * OPEN ITEM
     * ==========================================================
     */
    
    private void openItem(int position) {
    
        if (position < 0 ||
                position >= visibleMedia.size()) {
    
            return;
        }
    
    
        currentPosition = position;
    
    
        MediaItem item =
                visibleMedia.get(position);
    
    
        if (item.type == TYPE_VIDEO) {
    
            openVideo(position);
    
        } else {
    
            openImage(position);
        }
    }
    
    
    /*
     * ==========================================================
     * IMAGE
     * ==========================================================
     */
    
    private void openImage(int position) {
    
        if (position < 0 ||
                position >= visibleMedia.size()) {
    
            return;
        }
    
    
        MediaItem item =
                visibleMedia.get(position);
    
    
        final Activity activity = this;
    
    
        requestWindowFeature(
                Window.FEATURE_NO_TITLE
        );
    
    
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN
        );
    
    
        final FrameLayout frame =
                new FrameLayout(this);
    
    
        frame.setBackgroundColor(
                Color.BLACK
        );
    
    
        final ImageView image =
                new ImageView(this);
    
    
        image.setBackgroundColor(
                Color.BLACK
        );
    
    
        image.setScaleType(
                ImageView.ScaleType.FIT_CENTER
        );
    
    
        /*
         * Memory-safe image loading.
         *
         * We first read dimensions and then
         * choose an appropriate sample size.
         */
    
        Bitmap bitmap =
                loadSmallBitmap(
                        item.path,
                        getResources()
                                .getDisplayMetrics()
                                .widthPixels,
                        getResources()
                                .getDisplayMetrics()
                                .heightPixels
                );
    
    
        if (bitmap != null) {
    
            image.setImageBitmap(bitmap);
    
        } else {
    
            image.setBackgroundColor(
                    Color.rgb(20, 20, 20)
            );
        }
    
    
        frame.addView(
                image,
                new FrameLayout.LayoutParams(
                        -1,
                        -1
                )
        );
    
    
        setContentView(frame);
    
    
        /*
         * CENTER / OK returns to list.
         */
    
        image.setOnClickListener(
                new View.OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
    
                        finish();
    
                    }
                }
        );
    
    
        /*
         * Physical keys.
         */
    
        image.setFocusable(true);
    
        image.requestFocus();
    
    
        image.setOnKeyListener(
                new View.OnKeyListener() {
    
                    @Override
                    public boolean onKey(
                            View v,
                            int keyCode,
                            KeyEvent event) {
    
                        if (event.getAction() !=
                                KeyEvent.ACTION_DOWN) {
    
                            return false;
                        }
    
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_BACK ||
                            keyCode ==
                                KeyEvent.KEYCODE_ESCAPE) {
    
                            finish();
    
                            return true;
                        }
    
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_DPAD_LEFT) {
    
                            previousMedia();
    
                            return true;
                        }
    
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_DPAD_RIGHT) {
    
                            nextMedia();
    
                            return true;
                        }
    
    
                        return false;
                    }
                }
        );
    }
    
    
    /*
     * ==========================================================
     * MEMORY SAFE BITMAP
     * ==========================================================
     */
    
    private Bitmap loadSmallBitmap(
            String path,
            int wantedWidth,
            int wantedHeight) {
    
        BitmapFactory.Options options =
                new BitmapFactory.Options();
    
    
        options.inJustDecodeBounds = true;
    
    
        BitmapFactory.decodeFile(
                path,
                options
        );
    
    
        int width =
                options.outWidth;
    
        int height =
                options.outHeight;
    
    
        if (width <= 0 ||
                height <= 0) {
    
            return null;
        }
    
    
        int sample = 1;
    
    
        /*
         * Keep image reasonably small.
         *
         * This is especially important on
         * devices with little RAM.
         */
    
        while (
                (width / sample) >
                        wantedWidth * 2 ||
                (height / sample) >
                        wantedHeight * 2
        ) {
    
            sample *= 2;
        }
    
    
        options.inJustDecodeBounds = false;
    
        options.inSampleSize = sample;
    
        options.inPreferredConfig =
                Bitmap.Config.RGB_565;
    
    
        try {
    
            return BitmapFactory.decodeFile(
                    path,
                    options
            );
    
        } catch (OutOfMemoryError e) {
    
            /*
             * One more attempt with a much
             * smaller bitmap.
             */
    
            System.gc();
    
    
            options.inSampleSize =
                    sample * 2;
    
    
            try {
    
                return BitmapFactory.decodeFile(
                        path,
                        options
                );
    
            } catch (Throwable ignored) {
    
                return null;
            }
        }
    }
    
    
    /*
     * ==========================================================
     * VIDEO
     * ==========================================================
     */
    
    private void openVideo(int position) {
    
        if (position < 0 ||
                position >= visibleMedia.size()) {
    
            return;
        }
    
    
        final MediaItem item =
                visibleMedia.get(position);
    
    
        final Activity activity = this;
    
    
        requestWindowFeature(
                Window.FEATURE_NO_TITLE
        );
    
    
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN
        );
    
    
        final FrameLayout frame =
                new FrameLayout(this);
    
    
        frame.setBackgroundColor(
                Color.BLACK
        );
    
    
        final VideoView video =
                new VideoView(this);
    
    
        frame.addView(
                video,
                new FrameLayout.LayoutParams(
                        -1,
                        -1
                )
        );
    
    
        setContentView(frame);
    
    
        /*
         * Android's own MediaController.
         *
         * No external player library.
         */
    
        final MediaController controller =
                new MediaController(this);
    
    
        controller.setAnchorView(video);
    
        video.setMediaController(controller);
    
    
        Uri uri =
                Uri.fromFile(
                        new File(item.path)
                );
    
    
        video.setVideoURI(uri);
    
    
        video.setOnPreparedListener(
                new android.media.MediaPlayer
                        .OnPreparedListener() {
    
                    @Override
                    public void onPrepared(
                            android.media.MediaPlayer mp) {
    
                        /*
                         * Start immediately.
                         */
    
                        mp.setLooping(false);
    
                        video.start();
                    }
                }
        );
    
    
        video.setOnCompletionListener(
                new android.media.MediaPlayer
                        .OnCompletionListener() {
    
                    @Override
                    public void onCompletion(
                            android.media.MediaPlayer mp) {
    
                        /*
                         * Do not automatically
                         * start another video.
                         */
                    }
                }
        );
    
    
        /*
         * If Android's internal player fails,
         * try another installed Android player.
         */
    
        video.setOnErrorListener(
                new android.media.MediaPlayer
                        .OnErrorListener() {
    
                    @Override
                    public boolean onError(
                            android.media.MediaPlayer mp,
                            int what,
                            int extra) {
    
                        try {
    
                            Intent intent =
                                    new Intent(
                                            Intent.ACTION_VIEW
                                    );
    
    
                            intent.setDataAndType(
                                    Uri.fromFile(
                                            new File(
                                                    item.path
                                            )
                                    ),
                                    "video/*"
                            );
    
    
                            startActivity(intent);
    
    
                            return true;
    
                        } catch (Exception e) {
    
                            /*
                             * Nothing else available.
                             */
    
                            return true;
                        }
                    }
                }
        );
    
    
        /*
         * Focus.
         */
    
        video.setFocusable(true);
    
        video.requestFocus();
    
    
        /*
         * Hardware keys.
         */
    
        video.setOnKeyListener(
                new View.OnKeyListener() {
    
                    @Override
                    public boolean onKey(
                            View v,
                            int keyCode,
                            KeyEvent event) {
    
                        if (event.getAction() !=
                                KeyEvent.ACTION_DOWN) {
    
                            return false;
                        }
    
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_BACK) {
    
                            finish();
    
                            return true;
                        }
    
    
                        /*
                         * LEFT = rewind
                         * RIGHT = forward
                         */
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_DPAD_LEFT) {
    
                            long pos =
                                    video.getCurrentPosition();
    
                            pos -= 10000;
    
    
                            if (pos < 0) {
                                pos = 0;
                            }
    
    
                            video.seekTo(
                                    (int) pos
                            );
    
    
                            return true;
                        }
    
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_DPAD_RIGHT) {
    
                            long pos =
                                    video.getCurrentPosition();
    
                            pos += 10000;
    
    
                            video.seekTo(
                                    (int) pos
                            );
    
    
                            return true;
                        }
    
    
                        /*
                         * CENTER = pause/play
                         */
    
                        if (keyCode ==
                                KeyEvent.KEYCODE_DPAD_CENTER ||
                            keyCode ==
                                KeyEvent.KEYCODE_ENTER) {
    
                            if (video.isPlaying()) {
    
                                video.pause();
    
                            } else {
    
                                video.start();
                            }
    
    
                            return true;
                        }
    
    
                        return false;
                    }
                }
        );
    }
    
    
    /*
     * ==========================================================
     * NEXT / PREVIOUS
     * ==========================================================
     */
    
    private void nextMedia() {
    
        if (visibleMedia.size() == 0) {
            return;
        }
    
    
        int next =
                currentPosition + 1;
    
    
        if (next >= visibleMedia.size()) {
    
            next = 0;
        }
    
    
        currentPosition = next;
    
    
        MediaItem item =
                visibleMedia.get(next);
    
    
        if (item.type == TYPE_VIDEO) {
    
            openVideo(next);
    
        } else {
    
            openImage(next);
        }
    }
    
    
    private void previousMedia() {
    
        if (visibleMedia.size() == 0) {
            return;
        }
    
    
        int previous =
                currentPosition - 1;
    
    
        if (previous < 0) {
    
            previous =
                    visibleMedia.size() - 1;
        }
    
    
        currentPosition =
                previous;
    
    
        MediaItem item =
                visibleMedia.get(previous);
    
    
        if (item.type == TYPE_VIDEO) {
    
            openVideo(previous);
    
        } else {
    
            openImage(previous);
        }
    }
    
    
    /*
     * ==========================================================
     * KEYBOARD
     * ==========================================================
     */
    
    @Override
    public boolean onKeyDown(
            int keyCode,
            KeyEvent event) {
    
    
        /*
         * BACK
         */
    
        if (keyCode ==
                KeyEvent.KEYCODE_BACK) {
    
            /*
             * If we're on the main list,
             * exit application.
             */
    
            if (mainLayout != null &&
                    mainLayout.getParent() != null) {
    
                finish();
    
                return true;
            }
        }
    
    
        /*
         * MENU / OPTIONS
         *
         * Change:
         * ALL -> PHOTOS -> VIDEOS -> ALL
         */
    
        if (keyCode ==
                KeyEvent.KEYCODE_MENU) {
    
            changeMode();
    
            return true;
        }
    
    
        /*
         * Long press / device menu key
         */
    
        if (keyCode ==
                KeyEvent.KEYCODE_SEARCH) {
    
            changeMode();
    
            return true;
        }
    
    
        return super.onKeyDown(
                keyCode,
                event
        );
    }
    
    
    /*
     * ==========================================================
     * CHANGE FILTER
     * ==========================================================
     */
    
    private void changeMode() {
    
        if (currentMode == MODE_ALL) {
    
            currentMode =
                    MODE_PHOTOS;
    
        } else if (
                currentMode == MODE_PHOTOS) {
    
            currentMode =
                    MODE_VIDEOS;
    
        } else {
    
            currentMode =
                    MODE_ALL;
        }
    
    
        updateList();
    }
    
    
    /*
     * ==========================================================
     * FILE TYPES
     * ==========================================================
     */
    
    private boolean isImage(String path) {
    
        String p =
                path.toLowerCase();
    
    
        return p.endsWith(".jpg") ||
               p.endsWith(".jpeg") ||
               p.endsWith(".png") ||
               p.endsWith(".gif") ||
               p.endsWith(".bmp") ||
               p.endsWith(".webp");
    }
    
    
    private boolean isVideo(String path) {
    
        String p =
                path.toLowerCase();
    
    
        return p.endsWith(".mp4") ||
               p.endsWith(".3gp") ||
               p.endsWith(".3gpp") ||
               p.endsWith(".avi") ||
               p.endsWith(".mkv") ||
               p.endsWith(".mov") ||
               p.endsWith(".webm") ||
               p.endsWith(".m4v");
    }
    
    
    /*
     * ==========================================================
     * DP
     * ==========================================================
     */
    
    private int dp(int value) {
    
        float density =
                getResources()
                        .getDisplayMetrics()
                        .density;
    
    
        return (int)
                (value * density + 0.5f);
    }
    

    }

    עזרה הדדית - שיאומי +Qin1s

  • בקשה | ריכוז אפליקציות לשיאומי +Qin1s
    ל לוחם שחיתות

    ערב טוב ,
    אז שיאומי +Qin1s יש לו אנדרואיד 4 , די חלש וכמעט ושום אפליקציה לא עובדת ורצה עליו,
    אז אשמח לקבל ולרכז כאן אפליקציות שרצות עליו ואפשר להתקין אותם [ כמובן אחרי שינוי שם האפליקציה שאת זה אני יעשה ואז אפשר להתקין אותם, ] @אלוף-תימן אשמח לעזרה.
    יש כאן קוד חלקי של גלריה שיצרתי אבל אני על נטפרי אז אני לא יכול לגמור אותה לקובץ , תודה.

    עזרה הדדית - שיאומי +Qin1s

  • שיתוף | תחילת השנה האזרחית = אליאקספרס במבצעים מטורפים (וכנראה גם בשאר האתרים)!!!!
    ל לוחם שחיתות

    טוב יאללה ,
    מה באתם לבעס, המחיר של האוזניות באמת סבבה,
    הזמנתי כאלו.
    המחיר המקורי הרבה יותר יקר.
    תודה על הקישור @מגנוס-קרלסן

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | מחפש המלצה לאוזניות
    ל לוחם שחיתות

    אוזניות i30
    אוזניות מטורפות עומדות בכל הפרמטרים שביקשת וציינת.
    סוללה עוצמתית, עיצוב יפה ועדין, יכולות להתחבר בו זמנית לשני מכשירים. עם סליקון, מענה לשיחות איכותי. ושליטה על המוזיקה בלחיצות על האוזנייה בלבד!

    מוצרי חשמל קטנים

  • הצעת ייעול | יוטיוב ללא פרסומות - בחינם!!!
    ל לוחם שחיתות

    אני לא מחליף דפדפן וזה הקונספט!
    אני מעביר את כל הנתונים בלחיצה אחת ובוחר דפדפן של גוגל.
    זה לקח לי שנייה.
    ועכשיו גם בלי פרסומות.

    עזרה הדדית - מחשבים וטכנולוגיה

  • הצעת ייעול | יוטיוב ללא פרסומות - בחינם!!!
    ל לוחם שחיתות

    היי חברים.
    עליתי על דרך להיפטר מפרסומות ביוטיוב, בחינם לגמרי.
    אז אתם מחפשים בוגל דפדפן ווב או דפדפן ווב
    מורידים מתקינים, וזהו.
    תגיבו אם זה עזר לכם.

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    זה לא הסיסמא

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    @ה-הוא-המלך0 אשמח להסבר,
    יש דרגות סינון בנטפרי ושלי קשוחה.
    אשמח אם תצרפי הסרטת מסך

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    חסום לי בנטפרי מה זה?

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    יש כזה דבר שנקרא הרשאת כתיבה התעסקתי בזה פעם וזה עשה בעיות במחשב,
    זה מורכב מידי המדריך הזה....

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    תודה,
    אני אסתכל על זה?
    זה תוכנה או הדרכה?

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    @אלוף תימן,
    אפשר עזרה?

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    אני לא מתכוון לתוכנה.
    אבל אם יש לך אשמח.

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים קוד ל תיקיית קבצים ספציפית במחשב?
    ל לוחם שחיתות

    היי מה קורה חברים.
    אני רוצה בבקשה הדרכה איך ליצור קוד לתיקיית קבצים ספציפית במחשב [ראיתי פעם סרטון הדרכה בנושא והוא נעלם לי]
    אני מתכוון לתיקיה בלבד בתוך המחשב ולא קוד למחשב עצמו אלא לתיקיה מסוימת.
    תודה רבה.

    עזרה הדדית - מחשבים וטכנולוגיה
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר