103 lines
3.9 KiB
Java
103 lines
3.9 KiB
Java
/*
|
|
* Copyright (C) 2007 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.
|
|
*/
|
|
|
|
package com.android.settings.wifi;
|
|
|
|
import com.android.settings.R;
|
|
|
|
import android.content.Context;
|
|
import android.net.NetworkInfo;
|
|
import android.text.TextUtils;
|
|
|
|
public class WifiStatus {
|
|
public static String getStatus(Context context, String ssid,
|
|
NetworkInfo.DetailedState detailedState) {
|
|
|
|
if (!TextUtils.isEmpty(ssid) && isLiveConnection(detailedState)) {
|
|
return getPrintableFragment(context, detailedState, ssid);
|
|
} else {
|
|
return getPrintable(context, detailedState);
|
|
}
|
|
}
|
|
|
|
public static boolean isLiveConnection(NetworkInfo.DetailedState detailedState) {
|
|
return detailedState != NetworkInfo.DetailedState.DISCONNECTED
|
|
&& detailedState != NetworkInfo.DetailedState.FAILED
|
|
&& detailedState != NetworkInfo.DetailedState.IDLE
|
|
&& detailedState != NetworkInfo.DetailedState.SCANNING;
|
|
}
|
|
|
|
public static String getPrintable(Context context,
|
|
NetworkInfo.DetailedState detailedState) {
|
|
|
|
switch (detailedState) {
|
|
case AUTHENTICATING:
|
|
return context.getString(R.string.status_authenticating);
|
|
case CONNECTED:
|
|
return context.getString(R.string.status_connected);
|
|
case CONNECTING:
|
|
return context.getString(R.string.status_connecting);
|
|
case DISCONNECTED:
|
|
return context.getString(R.string.status_disconnected);
|
|
case DISCONNECTING:
|
|
return context.getString(R.string.status_disconnecting);
|
|
case FAILED:
|
|
return context.getString(R.string.status_failed);
|
|
case OBTAINING_IPADDR:
|
|
return context.getString(R.string.status_obtaining_ip);
|
|
case SCANNING:
|
|
return context.getString(R.string.status_scanning);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static String getPrintableFragment(Context context,
|
|
NetworkInfo.DetailedState detailedState, String apName) {
|
|
|
|
String fragment = null;
|
|
switch (detailedState) {
|
|
case AUTHENTICATING:
|
|
fragment = context.getString(R.string.fragment_status_authenticating);
|
|
break;
|
|
case CONNECTED:
|
|
fragment = context.getString(R.string.fragment_status_connected);
|
|
break;
|
|
case CONNECTING:
|
|
fragment = context.getString(R.string.fragment_status_connecting);
|
|
break;
|
|
case DISCONNECTED:
|
|
fragment = context.getString(R.string.fragment_status_disconnected);
|
|
break;
|
|
case DISCONNECTING:
|
|
fragment = context.getString(R.string.fragment_status_disconnecting);
|
|
break;
|
|
case FAILED:
|
|
fragment = context.getString(R.string.fragment_status_failed);
|
|
break;
|
|
case OBTAINING_IPADDR:
|
|
fragment = context.getString(R.string.fragment_status_obtaining_ip);
|
|
break;
|
|
case SCANNING:
|
|
fragment = context.getString(R.string.fragment_status_scanning);
|
|
break;
|
|
}
|
|
|
|
return String.format(fragment, apName);
|
|
}
|
|
|
|
}
|