Merge "[WifiSettings] Add progress bar when scanning" into mnc-dev
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Variant of progress_indeterminate_horizontal_material in frameworks/base/core/res, which
|
||||||
|
draws the whole height of the progress bar instead having blank space above and below the
|
||||||
|
bar. -->
|
||||||
|
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:drawable="@drawable/vector_drawable_progress_indeterminate_horizontal_trimmed" >
|
||||||
|
<target
|
||||||
|
android:name="rect2_grp"
|
||||||
|
android:animation="@*android:anim/progress_indeterminate_horizontal_rect2" />
|
||||||
|
<target
|
||||||
|
android:name="rect1_grp"
|
||||||
|
android:animation="@*android:anim/progress_indeterminate_horizontal_rect1" />
|
||||||
|
</animated-vector>
|
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Variant of vector_drawable_progress_indeterminate_horizontal in frameworks/base/core/res, which
|
||||||
|
draws the whole height of the progress bar instead having blank space above and below the
|
||||||
|
bar. -->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:height="10dp"
|
||||||
|
android:width="360dp"
|
||||||
|
android:viewportHeight="10"
|
||||||
|
android:viewportWidth="360" >
|
||||||
|
<group
|
||||||
|
android:name="progress_group"
|
||||||
|
android:translateX="180"
|
||||||
|
android:translateY="5" >
|
||||||
|
<path
|
||||||
|
android:name="background_track"
|
||||||
|
android:pathData="M -180.0,-5.0 l 360.0,0 l 0,10.0 l -360.0,0 Z"
|
||||||
|
android:fillColor="?android:attr/colorControlActivated"
|
||||||
|
android:fillAlpha="?android:attr/disabledAlpha"/>
|
||||||
|
<group
|
||||||
|
android:name="rect2_grp"
|
||||||
|
android:translateX="-197.60001"
|
||||||
|
android:scaleX="0.1" >
|
||||||
|
<path
|
||||||
|
android:name="rect2"
|
||||||
|
android:pathData="M -144.0,-5.0 l 288.0,0 l 0,10.0 l -288.0,0 Z"
|
||||||
|
android:fillColor="?android:attr/colorControlActivated" />
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="rect1_grp"
|
||||||
|
android:translateX="-522.59998"
|
||||||
|
android:scaleX="0.1" >
|
||||||
|
<path
|
||||||
|
android:name="rect1"
|
||||||
|
android:pathData="M -144.0,-5.0 l 288.0,0 l 0,10.0 l -288.0,0 Z"
|
||||||
|
android:fillColor="?android:attr/colorControlActivated" />
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</vector>
|
@@ -25,7 +25,7 @@
|
|||||||
android:background="@android:color/transparent">
|
android:background="@android:color/transparent">
|
||||||
|
|
||||||
<FrameLayout android:id="@+id/pinned_header"
|
<FrameLayout android:id="@+id/pinned_header"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
22
res/layout/wifi_progress_header.xml
Normal file
22
res/layout/wifi_progress_header.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
style="@style/TrimmedHorizontalProgressBar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="true" />
|
@@ -158,6 +158,12 @@
|
|||||||
<item name="android:textColor">?android:attr/colorAccent</item>
|
<item name="android:textColor">?android:attr/colorAccent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal">
|
||||||
|
<item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material_trimmed</item>
|
||||||
|
<item name="android:minHeight">3dip</item>
|
||||||
|
<item name="android:maxHeight">3dip</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="bt_item">
|
<style name="bt_item">
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
@@ -112,6 +112,14 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
|||||||
return mFloatingActionButton;
|
return mFloatingActionButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public View setPinnedHeaderView(int layoutResId) {
|
||||||
|
final LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||||
|
final View pinnedHeader =
|
||||||
|
inflater.inflate(layoutResId, mPinnedHeaderFrameLayout, false);
|
||||||
|
setPinnedHeaderView(pinnedHeader);
|
||||||
|
return pinnedHeader;
|
||||||
|
}
|
||||||
|
|
||||||
public void setPinnedHeaderView(View pinnedHeader) {
|
public void setPinnedHeaderView(View pinnedHeader) {
|
||||||
mPinnedHeaderFrameLayout.addView(pinnedHeader);
|
mPinnedHeaderFrameLayout.addView(pinnedHeader);
|
||||||
mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE);
|
mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE);
|
||||||
|
@@ -192,11 +192,9 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment
|
|||||||
final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
|
final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
|
||||||
mProfileSpinnerAdapter = Utils.createUserSpinnerAdapter(um, getActivity());
|
mProfileSpinnerAdapter = Utils.createUserSpinnerAdapter(um, getActivity());
|
||||||
if (mProfileSpinnerAdapter != null) {
|
if (mProfileSpinnerAdapter != null) {
|
||||||
mSpinner = (Spinner) getActivity().getLayoutInflater().inflate(
|
mSpinner = (Spinner) setPinnedHeaderView(R.layout.spinner_view);
|
||||||
R.layout.spinner_view, null);
|
|
||||||
mSpinner.setAdapter(mProfileSpinnerAdapter);
|
mSpinner.setAdapter(mProfileSpinnerAdapter);
|
||||||
mSpinner.setOnItemSelectedListener(this);
|
mSpinner.setOnItemSelectedListener(this);
|
||||||
setPinnedHeaderView(mSpinner);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,7 +22,6 @@ import android.content.Intent;
|
|||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@@ -59,9 +58,7 @@ public class RestrictedProfileSettings extends AppRestrictionsFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
if (mHeaderView == null) {
|
if (mHeaderView == null) {
|
||||||
mHeaderView = LayoutInflater.from(getActivity()).inflate(
|
mHeaderView = setPinnedHeaderView(R.layout.user_info_header);
|
||||||
R.layout.user_info_header, null);
|
|
||||||
setPinnedHeaderView(mHeaderView);
|
|
||||||
mHeaderView.setOnClickListener(this);
|
mHeaderView.setOnClickListener(this);
|
||||||
mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon);
|
mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon);
|
||||||
mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);
|
mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);
|
||||||
|
@@ -56,6 +56,7 @@ import android.view.MenuInflater;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||||
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.TextView.BufferType;
|
import android.widget.TextView.BufferType;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -127,6 +128,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
private WriteWifiConfigToNfcDialog mWifiToNfcDialog;
|
private WriteWifiConfigToNfcDialog mWifiToNfcDialog;
|
||||||
|
|
||||||
private TextView mEmptyView;
|
private TextView mEmptyView;
|
||||||
|
private ProgressBar mProgressHeader;
|
||||||
|
|
||||||
// this boolean extra specifies whether to disable the Next button when not connected. Used by
|
// this boolean extra specifies whether to disable the Next button when not connected. Used by
|
||||||
// account creation outside of setup wizard.
|
// account creation outside of setup wizard.
|
||||||
@@ -152,6 +154,15 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
super(DISALLOW_CONFIG_WIFI);
|
super(DISALLOW_CONFIG_WIFI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
final Activity activity = getActivity();
|
||||||
|
if (activity != null) {
|
||||||
|
mProgressHeader = (ProgressBar) setPinnedHeaderView(R.layout.wifi_progress_header);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
@@ -711,7 +722,9 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void setProgressBarVisible(boolean visible) {
|
protected void setProgressBarVisible(boolean visible) {
|
||||||
// TODO: show a progress bar when scan is in progress.
|
if (mProgressHeader != null) {
|
||||||
|
mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -148,6 +148,17 @@ public class WifiSettingsForSetupWizard extends WifiSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View setPinnedHeaderView(int layoutResId) {
|
||||||
|
// Pinned header is not supported in setup wizard
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPinnedHeaderView(View pinnedHeader) {
|
||||||
|
// Pinned header is not supported in setup wizard
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setProgressBarVisible(boolean visible) {
|
protected void setProgressBarVisible(boolean visible) {
|
||||||
if (mLayout != null) {
|
if (mLayout != null) {
|
||||||
|
Reference in New Issue
Block a user