Add process text action

Julien LepillerSun Jun 19 19:19:06+0200 2022

3d6cb0a

Add process text action

app/src/main/AndroidManifest.xml

9393
                <action android:name="android.intent.action.MAIN" />
9494
                <category android:name="android.intent.category.LAUNCHER" />
9595
            </intent-filter>
96+
            <intent-filter>
97+
                <action android:name="android.intent.action.PROCESS_TEXT" />
98+
                <category android:name="android.intent.category.DEFAULT" />
99+
                <data android:mimeType="text/plain" />
100+
            </intent-filter>
96101
        </activity>
97102
        <service android:name=".DictionaryDownloadService" />
98103
    </application>

app/src/main/java/eu/lepiller/nani/MainActivity.java

4545
    private SearchView search_form;
4646
    private RadicalSelectorView radical_selector;
4747
    private String readingStyle = "furigana";
48+
    private String intentSearch = null;
4849
    ViewPager2 viewPager2;
4950
    ResultPagerAdapter pagerAdapter;
5051

133134
                startActivity(intent);
134135
            }
135136
        });
137+
138+
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
139+
            CharSequence searchTerm = getIntent().getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT);
140+
            if(searchTerm != null && !searchTerm.toString().isEmpty())
141+
                intentSearch = searchTerm.toString();
142+
        }
136143
    }
137144
138145
    private void closeRadicals() {

362369
    }
363370
364371
    @Override
372+
    public boolean onPrepareOptionsMenu(Menu menu) {
373+
        if(intentSearch != null) {
374+
            search_form.setQuery(intentSearch, true);
375+
            intentSearch = null;
376+
        }
377+
        return super.onPrepareOptionsMenu(menu);
378+
    }
379+
380+
    @Override
365381
    public boolean onOptionsItemSelected(MenuItem item) {
366382
        // Handle action bar item clicks here. The action bar will
367383
        // automatically handle clicks on the Home/Up button, so long