|
2 | 2 |
|
3 | 3 | import android.content.Context;
|
4 | 4 | import android.content.Intent;
|
| 5 | +import android.net.Uri; |
5 | 6 | import android.os.Bundle;
|
6 | 7 | import android.support.annotation.NonNull;
|
7 | 8 | import android.support.annotation.Nullable;
|
8 | 9 | import android.support.annotation.RestrictTo;
|
9 | 10 | import android.support.v4.content.ContextCompat;
|
| 11 | +import android.support.v4.content.FileProvider; |
10 | 12 | import android.support.v4.widget.SwipeRefreshLayout;
|
11 | 13 | import android.support.v7.app.AppCompatActivity;
|
12 | 14 | import android.support.v7.widget.LinearLayoutManager;
|
|
16 | 18 | import android.view.Menu;
|
17 | 19 | import android.view.MenuInflater;
|
18 | 20 | import android.view.MenuItem;
|
| 21 | + |
| 22 | +import java.io.File; |
| 23 | +import java.util.ArrayList; |
| 24 | + |
19 | 25 | import de.jonasrottmann.realmbrowser.R;
|
| 26 | +import de.jonasrottmann.realmbrowser.helper.RealmHolder; |
20 | 27 | import de.jonasrottmann.realmbrowser.models.ModelsContract;
|
21 | 28 | import de.jonasrottmann.realmbrowser.models.ModelsPresenter;
|
22 | 29 | import de.jonasrottmann.realmbrowser.models.model.ModelPojo;
|
23 |
| -import java.util.ArrayList; |
24 | 30 |
|
25 | 31 | @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
|
26 | 32 | public class ModelsActivity extends AppCompatActivity implements ModelsContract.View, SearchView.OnQueryTextListener {
|
@@ -113,6 +119,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
|
113 | 119 | if (item.getItemId() == R.id.realm_browser_action_sort) {
|
114 | 120 | presenter.onSortModeChanged();
|
115 | 121 | return true;
|
| 122 | + } else if (item.getItemId() == R.id.realm_browser_action_share) { |
| 123 | + presenter.onShareSelected(); |
| 124 | + return true; |
116 | 125 | } else {
|
117 | 126 | return super.onOptionsItemSelected(item);
|
118 | 127 | }
|
@@ -145,6 +154,16 @@ public void attachPresenter(@Nullable ModelsContract.Presenter presenter) {
|
145 | 154 | this.presenter.attachView(this);
|
146 | 155 | }
|
147 | 156 |
|
| 157 | + @Override |
| 158 | + public void presentShareDialog(@NonNull String path) { |
| 159 | + Uri contentUri = FileProvider.getUriForFile(this, "de.jonasrottmann.realmbrowser", new File(RealmHolder.getInstance().getRealmConfiguration().getPath())); |
| 160 | + Intent intentShareFile = new Intent(Intent.ACTION_SEND); |
| 161 | + intentShareFile.setType("application/*"); |
| 162 | + intentShareFile.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); |
| 163 | + intentShareFile.putExtra(Intent.EXTRA_STREAM, contentUri); |
| 164 | + startActivity(Intent.createChooser(intentShareFile, "Share Realm File")); |
| 165 | + } |
| 166 | + |
148 | 167 | @Override
|
149 | 168 | protected void onDestroy() {
|
150 | 169 | super.onDestroy();
|
|
0 commit comments