|
|
@@ -0,0 +1,56 @@ |
|
|
|
package com.wireguard.config; |
|
|
|
|
|
|
|
import android.databinding.BaseObservable; |
|
|
|
import android.databinding.Bindable; |
|
|
|
import android.databinding.Observable; |
|
|
|
|
|
|
|
import com.wireguard.android.BR; |
|
|
|
|
|
|
|
import java.io.BufferedReader; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
import java.io.InputStreamReader; |
|
|
|
|
|
|
|
/** |
|
|
|
* Represents a wg-quick profile. |
|
|
|
*/ |
|
|
|
|
|
|
|
public class Profile extends BaseObservable implements Observable { |
|
|
|
private String config; |
|
|
|
private final String name; |
|
|
|
|
|
|
|
public Profile(String name) { |
|
|
|
this.name = name; |
|
|
|
} |
|
|
|
|
|
|
|
public void fromStream(InputStream stream) |
|
|
|
throws IOException { |
|
|
|
final StringBuilder sb = new StringBuilder(stream.available()); |
|
|
|
String line; |
|
|
|
try (BufferedReader reader = new BufferedReader(new InputStreamReader(stream))) { |
|
|
|
while ((line = reader.readLine()) != null) |
|
|
|
sb.append(line).append('\n'); |
|
|
|
} |
|
|
|
setConfig(sb.toString()); |
|
|
|
} |
|
|
|
|
|
|
|
@Bindable |
|
|
|
public String getConfig() { |
|
|
|
return config; |
|
|
|
} |
|
|
|
|
|
|
|
@Bindable |
|
|
|
public String getName() { |
|
|
|
return name; |
|
|
|
} |
|
|
|
|
|
|
|
public void setConfig(String config) { |
|
|
|
this.config = config; |
|
|
|
notifyPropertyChanged(BR.config); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String toString() { |
|
|
|
return getConfig(); |
|
|
|
} |
|
|
|
} |