2 * ownCloud Android client application
5 * Copyright (C) 2015 ownCloud Inc.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2,
9 * as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 package com
.owncloud
.android
.ui
.activity
;
23 import android
.accounts
.Account
;
24 import android
.net
.Uri
;
25 import android
.os
.Bundle
;
26 import android
.support
.v4
.app
.FragmentTransaction
;
27 import android
.support
.v7
.app
.AppCompatActivity
;
28 import android
.support
.v7
.widget
.Toolbar
;
30 import com
.owncloud
.android
.R
;
31 import com
.owncloud
.android
.datamodel
.OCFile
;
32 import com
.owncloud
.android
.ui
.fragment
.SearchFragment
;
33 import com
.owncloud
.android
.ui
.fragment
.ShareFileFragment
;
36 * Activity for sharing files
39 public class ShareActivity
extends AppCompatActivity
40 implements ShareFileFragment
.OnShareFragmentInteractionListener
,
41 SearchFragment
.OnSearchFragmentInteractionListener
{
43 private static final String TAG_SHARE_FRAGMENT
= "SHARE_FRAGMENT";
44 private static final String TAG_SEARCH_FRAGMENT
= "SEARCH_USER_AND_GROUPS_FRAGMENT";
46 private Account mAccount
;
49 private ShareFileFragment mShareFileFragment
;
50 private SearchFragment mSearchFragment
;
53 protected void onCreate(Bundle savedInstanceState
) {
54 super.onCreate(savedInstanceState
);
55 setContentView(R
.layout
.share_activity
);
56 Toolbar toolbar
= (Toolbar
) findViewById(R
.id
.toolbar
);
57 setSupportActionBar(toolbar
);
59 FragmentTransaction ft
= getSupportFragmentManager().beginTransaction();
61 if (savedInstanceState
!= null
) {
62 mFile
= savedInstanceState
.getParcelable(FileActivity
.EXTRA_FILE
);
63 mAccount
= savedInstanceState
.getParcelable(FileActivity
.EXTRA_ACCOUNT
);
65 mShareFileFragment
= (ShareFileFragment
) getSupportFragmentManager().
66 getFragment(savedInstanceState
, TAG_SHARE_FRAGMENT
);
67 mSearchFragment
= (SearchFragment
) getSupportFragmentManager().
68 getFragment(savedInstanceState
, TAG_SEARCH_FRAGMENT
);
70 if (mShareFileFragment
!= null
){
71 ft
.replace(R
.id
.share_fragment_container
, mShareFileFragment
, TAG_SHARE_FRAGMENT
);
73 if (mSearchFragment
!= null
){
74 ft
.hide(mShareFileFragment
);
75 ft
.add(R
.id
.share_fragment_container
, mSearchFragment
, TAG_SEARCH_FRAGMENT
);
76 ft
.addToBackStack(TAG_SEARCH_FRAGMENT
);
83 mFile
= getIntent().getParcelableExtra(FileActivity
.EXTRA_FILE
);
84 mAccount
= getIntent().getParcelableExtra(FileActivity
.EXTRA_ACCOUNT
);
87 mShareFileFragment
= ShareFileFragment
.newInstance(mFile
, mAccount
);
88 ft
.replace(R
.id
.share_fragment_container
, mShareFileFragment
, TAG_SHARE_FRAGMENT
);
91 mSearchFragment
= null
;
97 protected void onSaveInstanceState(Bundle outState
) {
98 super.onSaveInstanceState(outState
);
99 outState
.putParcelable(FileActivity
.EXTRA_FILE
, mFile
);
100 outState
.putParcelable(FileActivity
.EXTRA_ACCOUNT
, mAccount
);
102 //Save the fragment's instance
103 getSupportFragmentManager().putFragment(outState
, TAG_SHARE_FRAGMENT
, mShareFileFragment
);
104 if (mSearchFragment
!= null
) {
105 getSupportFragmentManager().putFragment(outState
, TAG_SEARCH_FRAGMENT
, mSearchFragment
);
111 public void showSearchUsersAndGroups() {
112 FragmentTransaction ft
= getSupportFragmentManager().beginTransaction();
113 mSearchFragment
= SearchFragment
.newInstance(mFile
, mAccount
);
114 ft
.hide(mShareFileFragment
);
115 ft
.add(R
.id
.share_fragment_container
, mSearchFragment
, TAG_SEARCH_FRAGMENT
);
116 ft
.addToBackStack(TAG_SEARCH_FRAGMENT
);
121 public void onBackPressed() {
122 super.onBackPressed();
123 if (mSearchFragment
!= null
){
124 getSupportFragmentManager().popBackStackImmediate();
125 mSearchFragment
= null
;
130 public void onShareFragmentInteraction(Uri uri
) {
135 public void onSearchFragmentInteraction(Uri uri
) {