Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xabber-android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
xabber-android
Commits
825de168
Commit
825de168
authored
Feb 18, 2015
by
Grigory Fedorov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New ContactTitleActionBarInflater - ContactEditor now use it to customize action bar.
parent
25396cad
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
3 deletions
+67
-3
ContactEditor.java
app/src/main/java/com/xabber/android/ui/ContactEditor.java
+9
-3
ContactTitleActionBarInflater.java
...bber/android/ui/helper/ContactTitleActionBarInflater.java
+58
-0
No files found.
app/src/main/java/com/xabber/android/ui/ContactEditor.java
View file @
825de168
...
@@ -14,8 +14,6 @@
...
@@ -14,8 +14,6 @@
*/
*/
package
com
.
xabber
.
android
.
ui
;
package
com
.
xabber
.
android
.
ui
;
import
java.util.Collection
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
...
@@ -32,10 +30,13 @@ import com.xabber.android.data.intent.EntityIntentBuilder;
...
@@ -32,10 +30,13 @@ import com.xabber.android.data.intent.EntityIntentBuilder;
import
com.xabber.android.data.roster.AbstractContact
;
import
com.xabber.android.data.roster.AbstractContact
;
import
com.xabber.android.data.roster.OnContactChangedListener
;
import
com.xabber.android.data.roster.OnContactChangedListener
;
import
com.xabber.android.data.roster.RosterManager
;
import
com.xabber.android.data.roster.RosterManager
;
import
com.xabber.android.ui.helper.ContactTitleActionBarInflater
;
import
com.xabber.android.ui.helper.ContactTitleInflater
;
import
com.xabber.android.ui.helper.ContactTitleInflater
;
import
com.xabber.androiddev.R
;
import
com.xabber.androiddev.R
;
import
com.xabber.xmpp.address.Jid
;
import
com.xabber.xmpp.address.Jid
;
import
java.util.Collection
;
public
class
ContactEditor
extends
GroupListActivity
implements
public
class
ContactEditor
extends
GroupListActivity
implements
OnContactChangedListener
,
AdapterView
.
OnItemClickListener
,
OnContactChangedListener
,
AdapterView
.
OnItemClickListener
,
OnAccountChangedListener
{
OnAccountChangedListener
{
...
@@ -43,11 +44,14 @@ public class ContactEditor extends GroupListActivity implements
...
@@ -43,11 +44,14 @@ public class ContactEditor extends GroupListActivity implements
private
String
account
;
private
String
account
;
private
String
user
;
private
String
user
;
ContactTitleActionBarInflater
contactTitleActionBarInflater
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
contactTitleActionBarInflater
=
new
ContactTitleActionBarInflater
(
this
);
contactTitleActionBarInflater
.
setActionBarView
();
}
}
@Override
@Override
...
@@ -112,6 +116,8 @@ public class ContactEditor extends GroupListActivity implements
...
@@ -112,6 +116,8 @@ public class ContactEditor extends GroupListActivity implements
((
TextView
)
findViewById
(
R
.
id
.
name
)).
setText
(
getString
(
((
TextView
)
findViewById
(
R
.
id
.
name
)).
setText
(
getString
(
R
.
string
.
contact_editor_title
,
abstractContact
.
getName
()));
R
.
string
.
contact_editor_title
,
abstractContact
.
getName
()));
((
TextView
)
findViewById
(
R
.
id
.
status_text
)).
setText
(
user
);
((
TextView
)
findViewById
(
R
.
id
.
status_text
)).
setText
(
user
);
contactTitleActionBarInflater
.
update
(
abstractContact
);
}
}
@Override
@Override
...
...
app/src/main/java/com/xabber/android/ui/helper/ContactTitleActionBarInflater.java
0 → 100644
View file @
825de168
package
com
.
xabber
.
android
.
ui
.
helper
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Build
;
import
android.support.v7.app.ActionBar
;
import
android.support.v7.app.ActionBarActivity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
com.xabber.android.data.account.AccountManager
;
import
com.xabber.android.data.roster.AbstractContact
;
import
com.xabber.androiddev.R
;
public
class
ContactTitleActionBarInflater
{
private
final
ActionBarActivity
activity
;
private
View
actionBarView
;
private
int
[]
accountActionBarColors
;
private
int
[]
accountStatusBarColors
;
private
Window
window
;
public
ContactTitleActionBarInflater
(
ActionBarActivity
activity
)
{
this
.
activity
=
activity
;
}
public
void
setActionBarView
()
{
window
=
this
.
activity
.
getWindow
();
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
);
window
.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
accountActionBarColors
=
activity
.
getResources
().
getIntArray
(
R
.
array
.
account_action_bar
);
accountStatusBarColors
=
activity
.
getResources
().
getIntArray
(
R
.
array
.
account_status_bar
);
ActionBar
actionBar
=
activity
.
getSupportActionBar
();
actionBar
.
setDisplayShowTitleEnabled
(
false
);
actionBar
.
setDisplayShowHomeEnabled
(
false
);
actionBar
.
setDisplayHomeAsUpEnabled
(
true
);
actionBar
.
setDisplayShowCustomEnabled
(
true
);
actionBarView
=
LayoutInflater
.
from
(
activity
).
inflate
(
R
.
layout
.
contact_title
,
null
);
actionBar
.
setCustomView
(
actionBarView
,
new
ActionBar
.
LayoutParams
(
ActionBar
.
LayoutParams
.
MATCH_PARENT
,
ActionBar
.
LayoutParams
.
MATCH_PARENT
));
}
public
void
update
(
AbstractContact
abstractContact
)
{
ContactTitleInflater
.
updateTitle
(
actionBarView
,
activity
,
abstractContact
);
int
colorLevel
=
AccountManager
.
getInstance
().
getColorLevel
(
abstractContact
.
getAccount
());
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
window
.
setStatusBarColor
(
accountStatusBarColors
[
colorLevel
]);
}
activity
.
getSupportActionBar
().
setBackgroundDrawable
(
new
ColorDrawable
(
accountActionBarColors
[
colorLevel
]));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment